Hi,

based on the above issue i figured out that currently maven-assembly-plugin will solve artifacts not correct (from my point of view) in case of relocated artifacts.

If you do mvn install with both projects lib-a/lib-b (of the example) whereas you will get a message about the relocated artifact for lib-b like this:

[INFO] ------------------------------------------------------------------------
[INFO] Building lib-b 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------ [WARNING] The artifact xerces:xerces:jar:2.0.2 has been relocated to xerces:xercesImpl:jar:2.0.2


and afterwards you do "mvn clean package" with app projects you can see in the zip file the following artifacts:

Archive:  target/app-0.0.1-SNAPSHOT-package.zip
    testing: app-0.0.1-SNAPSHOT/      OK
    testing: app-0.0.1-SNAPSHOT/lib/   OK
    testing: app-0.0.1-SNAPSHOT/lib/lib-a-0.0.1-SNAPSHOT.jar   OK
    testing: app-0.0.1-SNAPSHOT/lib/log4j-1.2.16.jar   OK
    testing: app-0.0.1-SNAPSHOT/lib/xerces-1.4.4.jar   OK
    testing: app-0.0.1-SNAPSHOT/lib/lib-b-0.0.1-SNAPSHOT.jar   OK
    testing: app-0.0.1-SNAPSHOT/lib/xercesImpl-2.0.2.jar   OK
    testing: app-0.0.1-SNAPSHOT/lib/app-0.0.1-SNAPSHOT.jar   OK
    testing: app-0.0.1-SNAPSHOT/README.txt   OK

which contains the original artifacts and the relocated one.

By using maven-dependency-plugin:2.4:tree i can see artifacts like xerces:xerces:jar:1.4.4...

$ mvn org.apache.maven.plugins:maven-dependency-plugin:2.4:tree
[INFO] Scanning for projects...
...
[INFO]
[INFO] --- maven-dependency-plugin:2.4:tree (default-cli) @ app ---
[INFO] acme.demo:app:jar:0.0.1-SNAPSHOT
[INFO] +- junit:junit:jar:4.11:test
[INFO] |  \- org.hamcrest:hamcrest-core:jar:1.3:test
[INFO] +- acme.demo:lib-a:jar:0.0.1-SNAPSHOT:compile
[INFO] |  +- log4j:log4j:jar:1.2.16:compile
[INFO] |  \- xerces:xerces:jar:1.4.4:compile
[INFO] \- acme.demo:lib-b:jar:0.0.1-SNAPSHOT:compile
[INFO]    \- xerces:xercesImpl:jar:2.0.2:compile
[INFO]

But if i use maven-dependency-plugin:2.5..2.8:tree i can see the tree for the same project like this:

[INFO] Scanning for projects...
[INFO]
...
[INFO] --- maven-dependency-plugin:2.5:tree (default-cli) @ app ---
[INFO] acme.demo:app:jar:0.0.1-SNAPSHOT
[INFO] +- junit:junit:jar:4.11:test
[INFO] |  \- org.hamcrest:hamcrest-core:jar:1.3:test
[INFO] +- acme.demo:lib-a:jar:0.0.1-SNAPSHOT:compile
[INFO] |  +- log4j:log4j:jar:1.2.16:compile
[INFO] |  \- xerces:xerces:jar:1.4.4:compile
[INFO] \- acme.demo:lib-b:jar:0.0.1-SNAPSHOT:compile
[INFO]


So question is: Does exist an option/method etc. to identify an relocated of an artifact?

Kind regards
Karl-Heinz Marbaise

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
For additional commands, e-mail: dev-h...@maven.apache.org

Reply via email to