jira.codehaus.org

  • Log In Access more options
    • Online Help
    • Keyboard Shortcuts
    • About JIRA
    • JIRA Credits
    • What?s New
  • Dashboards Access more options (Alt+d)
  • Projects Access more options (Alt+p)
  • Issues Access more options (Alt+i)
  • Maven 2 & 3
  • MNG-4233

Artifact does not get resolved from the reactor

  • Log In
  • Views
    • XML
    • Word
    • Printable

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Major 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)
  • Options
    • Sort By Name
    • Sort By Date
    • Ascending
    • Descending
    • Download All

Attachments

  1. GZip Archive
    test-case.tar.gz
    09/Jul/09 6:22 AM
    1 kB
    Oran Kelly

Issue Links

is related to

Bug - A problem which impairs or prevents the functions of the product. MNG-2877 unable to resolve attached artifacts from reactor that are not in repo. (patch applied in svn and IT tests added)

  • Major - Major loss of function.
  • Closed - The issue is considered finished, the resolution is correct. Issues which are not closed can be reopened.

Activity

Ascending order - Click to sort in descending order
  • All
  • Comments
  • Work Log
  • History
  • Activity
Hide
Permalink
Basil James Whitehouse III added a comment - 20/Aug/09 10:01 AM

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.

Show
Basil James Whitehouse III added a comment - 20/Aug/09 10:01 AM 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.
Hide
Permalink
Basil James Whitehouse III added a comment - 20/Aug/09 10:10 AM

I just verified that that this worked by:

  • downloading the attached test case
  • running as described
  • getting the same error
  • change the dep/pom.xml to use unpack-dependencies instead of unpack
  • run again as described (including the rm of the local repo)
  • no error, see log below
$ rm -fr $HOME/.m2/repository/maven/test
$ mvn clean verify
[INFO] Scanning for projects...
[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]
[INFO] [site:attach-descriptor]
[INFO] ------------------------------------------------------------------------
[INFO] Building Test Module Core
[INFO]    task-segment: [clean, verify]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] Deleting directory /home/basil/downloads/test-case/core/target
[INFO] [resources:resources]
[INFO] Using default encoding to copy filtered resources.
[INFO] [compiler:compile]
[INFO] Compiling 1 source file to /home/basil/downloads/test-case/core/target/classes
[INFO] [resources:testResources]
[INFO] Using default encoding to copy filtered resources.
[INFO] [compiler:testCompile]
[INFO] No sources to compile
[INFO] [surefire:test]
[INFO] No tests to run.
[INFO] [jar:jar]
[INFO] Building jar: /home/basil/downloads/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]
[INFO] Deleting directory /home/basil/downloads/test-case/dep/target
[INFO] [resources:resources]
[INFO] Using default encoding to copy filtered resources.
[INFO] [dependency:unpack-dependencies {execution: unpack}]
[INFO] Unpacking /home/basil/downloads/test-case/core/target/core-1.0.0-SNAPSHOT.jarto
 /home/basil/downloads/test-case/dep/target/dependency
with Includes null and excludes:null
[INFO] [compiler:compile]
[INFO] No sources to compile
[INFO] [resources:testResources]
[INFO] Using default encoding to copy filtered resources.
[INFO] [compiler:testCompile]
[INFO] No sources to compile
[INFO] [surefire:test]
[INFO] No tests to run.
[INFO] [jar:jar]
[WARNING] JAR will be empty - no content was marked for inclusion!
[INFO] Building jar: /home/basil/downloads/test-case/dep/target/dep-1.0.0-SNAPSHOT.jar
[INFO] 
[INFO] 
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] ------------------------------------------------------------------------
[INFO] Test Module ........................................... SUCCESS [2.871s]
[INFO] Test Module Core ...................................... SUCCESS [2.184s]
[INFO] Test Module Dep ....................................... SUCCESS [3.673s]
[INFO] ------------------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 9 seconds
[INFO] Finished at: Thu Aug 20 15:06:58 GMT 2009
[INFO] Final Memory: 18M/36M
[INFO] ------------------------------------------------------------------------
Show
Basil James Whitehouse III added a comment - 20/Aug/09 10:10 AM I just verified that that this worked by:
  • downloading the attached test case
  • running as described
  • getting the same error
  • change the dep/pom.xml to use unpack-dependencies instead of unpack
  • run again as described (including the rm of the local repo)
  • no error, see log below
$ rm -fr $HOME/.m2/repository/maven/test
$ mvn clean verify
[INFO] Scanning for projects...
[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]
[INFO] [site:attach-descriptor]
[INFO] ------------------------------------------------------------------------
[INFO] Building Test Module Core
[INFO]    task-segment: [clean, verify]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] Deleting directory /home/basil/downloads/test-case/core/target
[INFO] [resources:resources]
[INFO] Using default encoding to copy filtered resources.
[INFO] [compiler:compile]
[INFO] Compiling 1 source file to /home/basil/downloads/test-case/core/target/classes
[INFO] [resources:testResources]
[INFO] Using default encoding to copy filtered resources.
[INFO] [compiler:testCompile]
[INFO] No sources to compile
[INFO] [surefire:test]
[INFO] No tests to run.
[INFO] [jar:jar]
[INFO] Building jar: /home/basil/downloads/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]
[INFO] Deleting directory /home/basil/downloads/test-case/dep/target
[INFO] [resources:resources]
[INFO] Using default encoding to copy filtered resources.
[INFO] [dependency:unpack-dependencies {execution: unpack}]
[INFO] Unpacking /home/basil/downloads/test-case/core/target/core-1.0.0-SNAPSHOT.jarto
 /home/basil/downloads/test-case/dep/target/dependency
with Includes null and excludes:null
[INFO] [compiler:compile]
[INFO] No sources to compile
[INFO] [resources:testResources]
[INFO] Using default encoding to copy filtered resources.
[INFO] [compiler:testCompile]
[INFO] No sources to compile
[INFO] [surefire:test]
[INFO] No tests to run.
[INFO] [jar:jar]
[WARNING] JAR will be empty - no content was marked for inclusion!
[INFO] Building jar: /home/basil/downloads/test-case/dep/target/dep-1.0.0-SNAPSHOT.jar
[INFO] 
[INFO] 
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] ------------------------------------------------------------------------
[INFO] Test Module ........................................... SUCCESS [2.871s]
[INFO] Test Module Core ...................................... SUCCESS [2.184s]
[INFO] Test Module Dep ....................................... SUCCESS [3.673s]
[INFO] ------------------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 9 seconds
[INFO] Finished at: Thu Aug 20 15:06:58 GMT 2009
[INFO] Final Memory: 18M/36M
[INFO] ------------------------------------------------------------------------
Hide
Permalink
Basil James Whitehouse III added a comment - 20/Aug/09 10:11 AM

This is with:
$ mvn --version
Maven version: 2.0.9
Java version: 1.6.0_14
OS name: "linux" version: "2.6.28-15-generic" arch: "i386" Family: "unix"

Show
Basil James Whitehouse III added a comment - 20/Aug/09 10:11 AM This is with: $ mvn --version Maven version: 2.0.9 Java version: 1.6.0_14 OS name: "linux" version: "2.6.28-15-generic" arch: "i386" Family: "unix"
Hide
Permalink
Oran Kelly added a comment - 21/Aug/09 3:35 AM

unpack-dependencies will unpack transitive dependencies as well. So if you add any dependencies to the core module in my test case, they will also be unpacked. So using unpack-dependencies is not really a valid work-around except for in this most simple of test cases.

Your example throws up a very interesting question: why on Earth is unpack-dependencies able to resolve the artifact from the reactor and not unpack? Surely they are using the same dependency resolution mechanism? The sole difference between the two appears to be that one unpacks only direct dependencies, the other unpacks direct and transitive dependencies.

I have checked and the same problem exists with copy and copy-dependencies; copy is unable to resolve the artifact, copy-dependencies is.

Show
Oran Kelly added a comment - 21/Aug/09 3:35 AM unpack-dependencies will unpack transitive dependencies as well. So if you add any dependencies to the core module in my test case, they will also be unpacked. So using unpack-dependencies is not really a valid work-around except for in this most simple of test cases. Your example throws up a very interesting question: why on Earth is unpack-dependencies able to resolve the artifact from the reactor and not unpack? Surely they are using the same dependency resolution mechanism? The sole difference between the two appears to be that one unpacks only direct dependencies, the other unpacks direct and transitive dependencies. I have checked and the same problem exists with copy and copy-dependencies; copy is unable to resolve the artifact, copy-dependencies is.

People

  • Assignee:
    Benjamin Bentmann
    Reporter:
    Oran Kelly
Vote (3)
Watch (3)

Dates

  • Created:
    09/Jul/09 6:22 AM
    Updated:
    08/Aug/10 6:48 AM
    Resolved:
    08/Aug/10 6:48 AM
  • Atlassian JIRA (v5.0.4#731-sha1:3aa7374)
  • Report a problem
  • Powered by a free Atlassian JIRA open source license for Codehaus. Try JIRA - bug tracking software for your team.