[ 
https://issues.apache.org/jira/browse/MASSEMBLY-848?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16052859#comment-16052859
 ] 

Karl Heinz Marbaise commented on MASSEMBLY-848:
-----------------------------------------------

I have taken the above link to github and cloned that and tested that with each 
Maven version which failed (I used {{mvn clean package}})...The point here is 
that you have used {{mvn install}} instead of {{mvn package}} which is 
something different.

If you do a {{mvn install}} each module of that multi module build will be 
iterated over. The first one will do the life cycle including installing the 
artifact into local cache {{$HOME/.m2/repository}} the next module etc. and so 
until the last module {{mod-c}} which has the maven-assembly-plugin 
configuration which now resolves the dependencies from the local cache which 
works. This will work with all Maven versions cause it's independent of the 
Maven version. 

If you like to do {{mvn clean package}} that will fail for all Maven versions 
cause they are not solved from the reactor only if artifacts have the same 
version this will work...

I never use {{mvn clean install}} on multi module builds. I always use {{mvn 
clean package}}...and that's the issue here. The resolution will not work for 
those dependencies from the reactor cause they have different version numbers 
and they will be tried to resolve from remote repository in which they did not 
exist...If you use the example I have shown this will work also with {{mvn 
clean package}}...

> Version range dependencies not resolved from the reactor
> --------------------------------------------------------
>
>                 Key: MASSEMBLY-848
>                 URL: https://issues.apache.org/jira/browse/MASSEMBLY-848
>             Project: Maven Assembly Plugin
>          Issue Type: Bug
>    Affects Versions: 3.0.0
>         Environment: Apache Maven 3.3.9 
> (NON-CANONICAL_2015-11-23T13:17:27+03:00_root; 2015-11-23T10:17:27+00:00)
> Maven home: /opt/maven
> Java version: 1.8.0_121, vendor: Oracle Corporation
> Java home: /usr/lib/jvm/java-8-openjdk/jre
> Default locale: en_GB, platform encoding: UTF-8
> OS name: "linux", version: "4.8.13-1-arch", arch: "amd64", family: "unix"
>            Reporter: Mark Raynsford
>         Attachments: mvn.log.gz
>
>
> When using modules that have independent version numbers (that is, modules in 
> the same project may have different version numbers), it's commonplace to 
> specify dependencies between modules with version ranges when using semantic 
> versioning.
> For some reason, when version ranges are used on dependencies that refer to 
> modules that are part of the project (and therefore should be in the 
> reactor), the assembly plugin ignores them and tries to resolve them from the 
> local repository instead.
> The following project reproduces this issue (just "mvn clean package"):
> https://github.com/io7m/independent-versioning-20170207
> Interestingly, this didn't happen with the same assembly plugin on older 
> Maven versions. Here's a successful build on Travis CI:
> https://travis-ci.org/io7m/independent-versioning-20170207



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to