In some cases classpath resolution of artifacts yields an incorrect file.

I found a specific case where some artifacts where being incorrectly resolved, resulting in the archive missing some dependencies.

These artifacts brought up the problem for us:
de.novanic.gwteventservice:gwteventservice:1.2.1
de.novanic.gwteventservice:eventservice:1.2.1

Because the name of the second artifact is a substring of the first artifact's file path, that second dependency is being resolved to the first one's file. This change set basically uses a stricter way of comparing the file's path against the artifact name to avoid these scenarios.

One workaround is to specify the dependencies in a particular order (we are using this at the moment), but finding the cause of the problem is not trivial.