You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Edgar Vonk (JIRA)" <ji...@codehaus.org> on 2014/03/26 14:41:01 UTC
[jira] (MNG-5121) maven seems to lose transitive dependencies from
the list of compilation dependencies
[ https://jira.codehaus.org/browse/MNG-5121?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=343672#comment-343672 ]
Edgar Vonk commented on MNG-5121:
---------------------------------
I just seem to run into this very same issue if I am not mistaken using Maven 3.2.1. Could it be that maybe MNG-2315 re-introduced this bug? Could someone maybe have a look? If not then something else is going on.
In any case with Maven 3.2.1 I had a very similar situation where it seems that all transitive dependencies were lost from my JAR file (starting with the javax.inject dependency). I then downgraded to Maven 3.1.1, rebuild my JAR and now all transitive dependencies are back again.
> maven seems to lose transitive dependencies from the list of compilation dependencies
> -------------------------------------------------------------------------------------
>
> Key: MNG-5121
> URL: https://jira.codehaus.org/browse/MNG-5121
> Project: Maven 2 & 3
> Issue Type: Bug
> Components: Dependencies
> Affects Versions: 3.0.1, 3.0.2, 3.0.3
> Environment: Fedora Linux, Sun JDK 1.6.0_24, MacOS X 10.6.7, AppleJDK 1.6.0_24
> Reporter: Henning Schmiedehausen
> Assignee: Jason van Zyl
> Priority: Blocker
> Fix For: 3.0.4
>
> Attachments: build_failed.log, build_successful.log, maven-pom.xml, mng-5121.tgz
>
>
> 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
> <dependency>
> <groupId>com.google.inject</groupId>
> <artifactId>guice</artifactId>
> <version>3.0</version>
> </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:
> [DEBUG] com.google.inject:guice:jar:3.0:compile
> while in the successful build, the same dependency looks like this:
> [DEBUG] com.google.inject:guice:jar:3.0:compile
> [DEBUG] javax.inject:javax.inject:jar:1:compile
> [DEBUG] aopalliance:aopalliance:jar:1.0:
> This translates for the successful build into:
> [DEBUG] Classpath: [/Users/henning/private/source/services/thetargetproject/target/classes
> /Users/henning/.m2/repository/com/google/inject/guice/3.0/guice-3.0.jar
> /Users/henning/.m2/repository/javax/inject/javax.inject/1/javax.inject-1.jar
> [...]
> and for the failed build:
> [DEBUG] Classpath: [...]
> /Users/henning/.m2/repository/com/google/inject/guice/3.0/guice-3.0.jar
> [...]
> (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.
--
This message was sent by Atlassian JIRA
(v6.1.6#6162)