See the attached build logs "build_failed.log" and "build_succesful.log". They were both created from using the attached POM. The only difference is that in the successful build the dependency
is moved to the very top of the dependency list. When diffing the two build logs, the most important difference is that in the failed log maven picks up these dependencies:
while in the successful build, the same dependency looks like this:
This translates for the successful build into:
[DEBUG] Classpath: [/Users/henning/private/source/services/thetargetproject/target/classes
and for the failed build:
[DEBUG] Classpath: [...]
(note that even for the successful build, the aopalliance dependency still got dropped).
This behaviour started with maven 3.x, all permutations of the dependencies build fine with maven 2.2.1
This problem can be reproduced in all maven 3.0.x versions (.1, .2 and .3).
In both cases, the transitive dependencies of guice 3.0 (javax.inject:javax.inject and aopalliance:aopalliance) should always be present.
The same behaviour occurs in the exec-maven-plugin which uses the runtime dependency path to execute java code.
|Field||Original Value||New Value|
|Attachment||mng-5121.tgz [ 56986 ]|
|Assignee||Jason van Zyl [ jason ]|
|Status||Open [ 1 ]||Closed [ 6 ]|
|Fix Version/s||3.0.4 [ 17215 ]|
|Resolution||Fixed [ 1 ]|
|Project Import||Sun Apr 05 08:49:45 UTC 2015 [ 1428223785911 ]|
|Workflow||jira [ 12715354 ]||Default workflow, editable Closed status [ 12754901 ]|
|Project Import||Sun Apr 05 21:45:26 UTC 2015 [ 1428270326204 ]|
|Workflow||jira [ 12952785 ]||Default workflow, editable Closed status [ 12990119 ]|
|Assignee||jason lane [ jason ]||Jason van Zyl [ jvanzyl ]|
|Transition||Time In Source Status||Execution Times||Last Executer||Last Execution Date|
|511d 4h 53m||1||Henning Schmiedehausen||13/Nov/12 19:57|