Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 2.0.6, 2.0.9, 2.0.10, 2.1.0, 2.2.0
-
Fix Version/s: 3.0-alpha-3
-
Component/s: Artifacts and Repositories, Dependencies
-
Labels:None
-
Complexity:Intermediate
Description
This issue is directly related to MNG-2877. That issue is marked as fixed in 2.0.6. However, I have a project which does pretty much what MNG-2877 describes (a sub-project using maven-dependency-plugin to unpack a jar created at an earlier stage in the reactor) and it is not working.
I have attached a simple project structure which displays the issue. I have tested this with Maven 2.0.6, 2.0.9, 2.0.10, 2.1.0 and 2.2.0 and it fails in them all.
I build this test project structure using:
rm -fr $HOME/.m2/repository/maven/test
mvn clean verify
(Using "clean verify" as this is what release:prepare does and is how I ran in to the problem).
The output from this run is
[INFO] Scanning for projects...
[WARNING]
Profile with id: 'dev' has not been activated.
[INFO] Reactor build order:
[INFO] Test Module
[INFO] Test Module Core
[INFO] Test Module Dep
[INFO] ------------------------------------------------------------------------
[INFO] Building Test Module
[INFO] task-segment: [clean, verify]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean {execution: default-clean}]
[INFO] [site:attach-descriptor {execution: default-attach-descriptor}]
[INFO] ------------------------------------------------------------------------
[INFO] Building Test Module Core
[INFO] task-segment: [clean, verify]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean {execution: default-clean}]
[INFO] [resources:resources {execution: default-resources}]
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory /home/user/tmp/test-case/core/src/main/resources
[INFO] [compiler:compile {execution: default-compile}]
[INFO] Compiling 1 source file to /home/user/tmp/test-case/core/target/classes
[INFO] [resources:testResources {execution: default-testResources}]
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory /home/user/tmp/test-case/core/src/test/resources
[INFO] [compiler:testCompile {execution: default-testCompile}]
[INFO] No sources to compile
[INFO] [surefire:test {execution: default-test}]
[INFO] No tests to run.
[INFO] [jar:jar {execution: default-jar}]
[INFO] Building jar: /home/user/tmp/test-case/core/target/core-1.0.0-SNAPSHOT.jar
[INFO] ------------------------------------------------------------------------
[INFO] Building Test Module Dep
[INFO] task-segment: [clean, verify]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean {execution: default-clean}]
[INFO] [resources:resources {execution: default-resources}]
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory /home/user/tmp/test-case/dep/src/main/resources
[INFO] [dependency:unpack {execution: unpack}]
[INFO] Configured Artifact: maven.test:core:1.0.0-SNAPSHOT:jar
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Failed to resolve artifact.
GroupId: maven.test
ArtifactId: core
Version: 1.0.0-SNAPSHOT
Reason: Unable to download the artifact from any repository
Try downloading the file manually from the project website.
Then, install it using the command:
mvn install:install-file -DgroupId=maven.test -DartifactId=core -Dversion=1.0.0-SNAPSHOT -Dpackaging=jar -Dfile=/path/to/file
Alternatively, if you host your own repository you can deploy the file there:
mvn deploy:deploy-file -DgroupId=maven.test -DartifactId=core -Dversion=1.0.0-SNAPSHOT -Dpackaging=jar -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id]
maven.test:core:jar:1.0.0-SNAPSHOT
from the specified remote repositories:
central (http://repo1.maven.org/maven2)
Issue Links
- is related to
-
MNG-2877
unable to resolve attached artifacts from reactor that are not in repo. (patch applied in svn and IT tests added)
-
I think the problem is in the using dependency:unpack. I had this problem before and it took some close reading to figure it out. From the unpack goals documentation: "Goal that retrieves a list of artifacts from the repository and unpacks them in a defined location." This goal needs to have the artifact in the local repo. I switched to using dependency:unpack-dependencies since it works within the reactor/multimodule build.