Maven 2 & 3

Multiple inheritance fails to find "grand" parent in ../../pom.xml when the groupIds differ (Test Case Attached)

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Critical Critical
  • Resolution: Fixed
  • Affects Version/s: 2.0.4, 2.0.5, 2.0.6
  • Fix Version/s: 2.0.7
  • Labels:
    None
  • Complexity:
    Intermediate
  • Testcase included:
    yes
  • Number of attachments :
    3

Description

I have a project that inherits from 2 (or more) parents. If the grand parent (parent of my parent) isn't in the repository, it isn't found at ../../pom.xml

In my sample, make sure none of the artifacts are in your repository, then go down to sample-jar and try to build from there. See it fail.

Note: If you remove the ".sub" from the second parent's group and update the sampe-jar pom, it no longer fails and finds the grandparent.

See below for the output when the groups are different (fails) and when they are the same (works)

Failing output:
E:\sample\sample\sample-parent2\sample-jar>mvn -X compile
+ Error stacktraces are turned on.
[DEBUG] Building Maven user-level plugin registry from: 'C:\Documents and Settin
gs\brianf\.m2\plugin-registry.xml'
[DEBUG] Building Maven global-level plugin registry from: 'c:\PROGRA~1\MAVEN-~1.
2\bin\..\conf\plugin-registry.xml'
[INFO] Scanning for projects...
[DEBUG] Using parent-POM from the project hierarchy at: '../pom.xml' for project
: null:sample-jar:jar:null
[DEBUG] Invalid parent-POM referenced by relative path '../pom.xml' in parent sp
ecification in null:sample-parent2:pom:null:
Specified: sample-project.sub:sample-parent::SNAPSHOT
Found: sample-project:sample-parent:pom:SNAPSHOT
[DEBUG] Retrieving parent-POM from the repository for project: null:sample-paren
t2:pom:null
[DEBUG] Skipping disabled repository central
[DEBUG] sample-parent: using locally installed snapshot
[DEBUG] Trying repository sv1-int
Downloading: http://sv1.tus.stchome.com:9998/repository/sample-project/sub/sampl
e-parent/SNAPSHOT/sample-parent-SNAPSHOT.pom
[WARNING] Unable to get resource from repository sv1-int (http://sv1.tus.stchome
.com:9998/repository)
[DEBUG] Trying repository Maven Snapshots
Downloading: http://snapshots.maven.codehaus.org/maven2//sample-project/sub/samp
le-parent/SNAPSHOT/sample-parent-SNAPSHOT.pom
[WARNING] Unable to get resource from repository Maven Snapshots (http://snapsho
ts.maven.codehaus.org/maven2/)
[DEBUG] Skipping disabled repository central
[INFO] -------------------------------------------------------------------------

[ERROR] FATAL ERROR
[INFO] -------------------------------------------------------------------------

[INFO] Failed to resolve artifact.

GroupId: sample-project.sub
ArtifactId: sample-parent
Version: SNAPSHOT

Reason: Unable to download the artifact from any repository

sample-project.sub:sample-parent:pom:SNAPSHOT

OUTPUT WITHOUT .sub:
E:\sample\sample\sample-parent2\sample-jar>mvn -X compile
+ Error stacktraces are turned on.
[DEBUG] Building Maven user-level plugin registry from: 'C:\Documents and Settin
gs\brianf\.m2\plugin-registry.xml'
[DEBUG] Building Maven global-level plugin registry from: 'c:\PROGRA~1\MAVEN-~1.
2\bin\..\conf\plugin-registry.xml'
[INFO] Scanning for projects...
[DEBUG] Using parent-POM from the project hierarchy at: '../pom.xml' for project
: null:sample-jar:jar:null
[DEBUG] Using parent-POM from the project hierarchy at: '../pom.xml' for project
: null:sample-parent2:pom:null
[INFO] -------------------------------------------------------------------------

[INFO] Building Maven Quick Start Archetype
[INFO] task-segment: [compile]
[INFO] -------------------------------------------------------------------------

[DEBUG] maven-resources-plugin: resolved to version 2.1 from repository central
[DEBUG] Retrieving parent-POM from the repository for project: null:maven-resour

Issue Links

Activity

Hide
Brian Fox added a comment -

Note: Sample attached above is incorrect. I'm still verifying if I can reproduce my real problem in a sample. I'll update the attachment or close the issue.

Show
Brian Fox added a comment - Note: Sample attached above is incorrect. I'm still verifying if I can reproduce my real problem in a sample. I'll update the attachment or close the issue.
Hide
Brian Fox added a comment -

Attached a working sample.

Note: To get this to fail, you must build from the mid level project (in this case sample-parent2). I think the problem is that it goes down to the child module to begin resolving the poms but fails to go back up. In this case it works from the highest level and also from the child.

Show
Brian Fox added a comment - Attached a working sample. Note: To get this to fail, you must build from the mid level project (in this case sample-parent2). I think the problem is that it goes down to the child module to begin resolving the poms but fails to go back up. In this case it works from the highest level and also from the child.
Hide
Grzegorz Slowikowski added a comment -

Add:

<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>

to pom.xml and good-example will work.
I use Maven 2.0.2

Show
Grzegorz Slowikowski added a comment - Add: <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> to pom.xml and good-example will work. I use Maven 2.0.2
Hide
Brian Fox added a comment -

No, it still fails. You must build from "sample-project2" to see this problem. If you build from the root or from sample-jar it works fine. The trouble is when you are at an intermediate parent and try to build, it won't find it's own parent.

Show
Brian Fox added a comment - No, it still fails. You must build from "sample-project2" to see this problem. If you build from the root or from sample-jar it works fine. The trouble is when you are at an intermediate parent and try to build, it won't find it's own parent.
Hide
Brian Fox added a comment -

This seems to be fixed in 2.0.3. Should update the fixed in version so it shows up in the jira report. Would be nice to have an it test for this to keep it from coming back.

Show
Brian Fox added a comment - This seems to be fixed in 2.0.3. Should update the fixed in version so it shows up in the jira report. Would be nice to have an it test for this to keep it from coming back.
Hide
John Casey added a comment -

confirmed fixed by Brian Fox...I added a variant of good-sample.zip as it0097.

Show
John Casey added a comment - confirmed fixed by Brian Fox...I added a variant of good-sample.zip as it0097.
Hide
Ingo Düppe added a comment -

It seems that this bug is still in maven 2.0.4. I can reproduce the error of this issue. To reproduce the error your local repository has to be empty.

Show
Ingo Düppe added a comment - It seems that this bug is still in maven 2.0.4. I can reproduce the error of this issue. To reproduce the error your local repository has to be empty.
Hide
Vincenz Braun added a comment -

We have the same issue with maven 2.0.4.
Please reopen this bug. You must have a clean repository and build from the "middle" project.
The log output is:

[DEBUG] Searching for parent-POM: samplegroup:master::0.0.1 of project: samplegroup:frameworks:pom:0.0.1 in relative path: ../pom.xml
[DEBUG] Using parent-POM from the project hierarchy at: '../pom.xml' for project: samplegroup:frameworks:pom:0.0.1
[DEBUG] Retrieving parent-POM: samplegroup:master::0.0.1 for project: samplegroup:frameworks:pom:0.0.1 from the repository.
[DEBUG] Trying repository central
Downloading: http://repo1.maven.org/maven2/samplegroup/master/0.0.1/master-0.0.1.pom
[WARNING] Unable to get resource from repository central (http://repo1.maven.org/maven2)
[INFO] ------------------------------------------------------------------------
[ERROR] FATAL ERROR
[INFO] ------------------------------------------------------------------------

This is although all projects have the same groupid.

I have attached a use case for this.

Show
Vincenz Braun added a comment - We have the same issue with maven 2.0.4. Please reopen this bug. You must have a clean repository and build from the "middle" project. The log output is: [DEBUG] Searching for parent-POM: samplegroup:master::0.0.1 of project: samplegroup:frameworks:pom:0.0.1 in relative path: ../pom.xml [DEBUG] Using parent-POM from the project hierarchy at: '../pom.xml' for project: samplegroup:frameworks:pom:0.0.1 [DEBUG] Retrieving parent-POM: samplegroup:master::0.0.1 for project: samplegroup:frameworks:pom:0.0.1 from the repository. [DEBUG] Trying repository central Downloading: http://repo1.maven.org/maven2/samplegroup/master/0.0.1/master-0.0.1.pom [WARNING] Unable to get resource from repository central (http://repo1.maven.org/maven2) [INFO] ------------------------------------------------------------------------ [ERROR] FATAL ERROR [INFO] ------------------------------------------------------------------------ This is although all projects have the same groupid. I have attached a use case for this.
Hide
Vincenz Braun added a comment -

new test case with only 3 poms that fails with maven 2.0.4

Show
Vincenz Braun added a comment - new test case with only 3 poms that fails with maven 2.0.4
Hide
Brian Fox added a comment -

new test cases attached.

Show
Brian Fox added a comment - new test cases attached.
Hide
Brian Fox added a comment -

Tested that this still occurs. Using the attached "mavenbugreport.zip". Make sure you haven't previously installed this. Cd into the midlevel pom (frameworks) and run mvn install:

[INFO] Failed to resolve artifact.

GroupId: samplegroup
ArtifactId: master
Version: 0.0.1

Reason: Unable to download the artifact from any repository

samplegroup:master:pom:0.0.1

from the specified remote repositories:
Maven Snapshots (http://people.apache.org/maven-snapshot-repository),
central (http://repo1.maven.org/maven2),
Codehaus Snapshots (http://snapshots.repository.codehaus.org)

[INFO] ------------------------------------------------------------------------
[INFO] Trace
org.apache.maven.reactor.MavenExecutionException: Cannot find parent: samplegroup:master for project: samplegroup:frameworks:pom:0.0
.1
at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:378)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:290)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:125)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:280)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.maven.project.ProjectBuildingException: Cannot find parent: samplegroup:master for project: samplegroup:framew
orks:pom:0.0.1
at org.apache.maven.project.DefaultMavenProjectBuilder.assembleLineage(DefaultMavenProjectBuilder.java:1264)
at org.apache.maven.project.DefaultMavenProjectBuilder.assembleLineage(DefaultMavenProjectBuilder.java:1281)
at org.apache.maven.project.DefaultMavenProjectBuilder.buildInternal(DefaultMavenProjectBuilder.java:749)
at org.apache.maven.project.DefaultMavenProjectBuilder.buildFromSourceFileInternal(DefaultMavenProjectBuilder.java:479)
at org.apache.maven.project.DefaultMavenProjectBuilder.build(DefaultMavenProjectBuilder.java:200)
at org.apache.maven.DefaultMaven.getProject(DefaultMaven.java:537)
at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:467)
at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:512)
at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:364)
... 11 more
Caused by: org.apache.maven.project.ProjectBuildingException: POM 'samplegroup:master' not found in repository: Unable to download t
he artifact from any repository

samplegroup:master:pom:0.0.1

from the specified remote repositories:
Maven Snapshots (http://people.apache.org/maven-snapshot-repository),
central (http://repo1.maven.org/maven2),
Codehaus Snapshots (http://snapshots.repository.codehaus.org)

at org.apache.maven.project.DefaultMavenProjectBuilder.findModelFromRepository(DefaultMavenProjectBuilder.java:573)
at org.apache.maven.project.DefaultMavenProjectBuilder.assembleLineage(DefaultMavenProjectBuilder.java:1260)
... 19 more
Caused by: org.apache.maven.artifact.resolver.ArtifactNotFoundException: Unable to download the artifact from any repository

samplegroup:master:pom:0.0.1

from the specified remote repositories:
Maven Snapshots (http://people.apache.org/maven-snapshot-repository),
central (http://repo1.maven.org/maven2),
Codehaus Snapshots (http://snapshots.repository.codehaus.org)

at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:197)
at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:73)
at org.apache.maven.project.DefaultMavenProjectBuilder.findModelFromRepository(DefaultMavenProjectBuilder.java:526)
... 20 more
Caused by: org.apache.maven.wagon.ResourceDoesNotExistException: Unable to download the artifact from any repository
at org.apache.maven.artifact.manager.DefaultWagonManager.getArtifact(DefaultWagonManager.java:324)
at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:185)
... 22 more

If you build this from the top level, everything is fine.

Show
Brian Fox added a comment - Tested that this still occurs. Using the attached "mavenbugreport.zip". Make sure you haven't previously installed this. Cd into the midlevel pom (frameworks) and run mvn install: [INFO] Failed to resolve artifact. GroupId: samplegroup ArtifactId: master Version: 0.0.1 Reason: Unable to download the artifact from any repository samplegroup:master:pom:0.0.1 from the specified remote repositories: Maven Snapshots (http://people.apache.org/maven-snapshot-repository), central (http://repo1.maven.org/maven2), Codehaus Snapshots (http://snapshots.repository.codehaus.org) [INFO] ------------------------------------------------------------------------ [INFO] Trace org.apache.maven.reactor.MavenExecutionException: Cannot find parent: samplegroup:master for project: samplegroup:frameworks:pom:0.0 .1 at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:378) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:290) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:125) at org.apache.maven.cli.MavenCli.main(MavenCli.java:280) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315) at org.codehaus.classworlds.Launcher.launch(Launcher.java:255) at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430) at org.codehaus.classworlds.Launcher.main(Launcher.java:375) Caused by: org.apache.maven.project.ProjectBuildingException: Cannot find parent: samplegroup:master for project: samplegroup:framew orks:pom:0.0.1 at org.apache.maven.project.DefaultMavenProjectBuilder.assembleLineage(DefaultMavenProjectBuilder.java:1264) at org.apache.maven.project.DefaultMavenProjectBuilder.assembleLineage(DefaultMavenProjectBuilder.java:1281) at org.apache.maven.project.DefaultMavenProjectBuilder.buildInternal(DefaultMavenProjectBuilder.java:749) at org.apache.maven.project.DefaultMavenProjectBuilder.buildFromSourceFileInternal(DefaultMavenProjectBuilder.java:479) at org.apache.maven.project.DefaultMavenProjectBuilder.build(DefaultMavenProjectBuilder.java:200) at org.apache.maven.DefaultMaven.getProject(DefaultMaven.java:537) at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:467) at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:512) at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:364) ... 11 more Caused by: org.apache.maven.project.ProjectBuildingException: POM 'samplegroup:master' not found in repository: Unable to download t he artifact from any repository samplegroup:master:pom:0.0.1 from the specified remote repositories: Maven Snapshots (http://people.apache.org/maven-snapshot-repository), central (http://repo1.maven.org/maven2), Codehaus Snapshots (http://snapshots.repository.codehaus.org) at org.apache.maven.project.DefaultMavenProjectBuilder.findModelFromRepository(DefaultMavenProjectBuilder.java:573) at org.apache.maven.project.DefaultMavenProjectBuilder.assembleLineage(DefaultMavenProjectBuilder.java:1260) ... 19 more Caused by: org.apache.maven.artifact.resolver.ArtifactNotFoundException: Unable to download the artifact from any repository samplegroup:master:pom:0.0.1 from the specified remote repositories: Maven Snapshots (http://people.apache.org/maven-snapshot-repository), central (http://repo1.maven.org/maven2), Codehaus Snapshots (http://snapshots.repository.codehaus.org) at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:197) at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:73) at org.apache.maven.project.DefaultMavenProjectBuilder.findModelFromRepository(DefaultMavenProjectBuilder.java:526) ... 20 more Caused by: org.apache.maven.wagon.ResourceDoesNotExistException: Unable to download the artifact from any repository at org.apache.maven.artifact.manager.DefaultWagonManager.getArtifact(DefaultWagonManager.java:324) at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:185) ... 22 more If you build this from the top level, everything is fine.
Hide
Rene Grob added a comment -

I have exactly the same issue with maven 2.0.6. The grand-parent-pom is a release while the parent-pom is a SNAPSHOT and a mulit-module-project.

Show
Rene Grob added a comment - I have exactly the same issue with maven 2.0.6. The grand-parent-pom is a release while the parent-pom is a SNAPSHOT and a mulit-module-project.
Hide
Denis Pasek added a comment -

Same problem for me with Maven 2.0.4 and 2.0.6. Build fails if it's started on a intermediate POM (= not top level POM but also no leaf in project hierarchy).

Show
Denis Pasek added a comment - Same problem for me with Maven 2.0.4 and 2.0.6. Build fails if it's started on a intermediate POM (= not top level POM but also no leaf in project hierarchy).
Hide
John Casey added a comment -

I've tried the good-sample attachment with 2.0.9, 2.0.6, and 2.0.4, and I can't get this sample to fail when I build from the leaf-node project. I'm on OS X...was this happening on windows?

Show
John Casey added a comment - I've tried the good-sample attachment with 2.0.9, 2.0.6, and 2.0.4, and I can't get this sample to fail when I build from the leaf-node project. I'm on OS X...was this happening on windows?
Hide
Vincenz Braun added a comment -

You have to build from a middle project. Not a leaf-node one.
And make sure that no artifacts are already installed in the repository.
Have you tried the test case mavenbugreport.zip?

Show
Vincenz Braun added a comment - You have to build from a middle project. Not a leaf-node one. And make sure that no artifacts are already installed in the repository. Have you tried the test case mavenbugreport.zip?
Hide
John Casey added a comment -

Verified that this is fixed in 2.0.7+, and integrated the example from mavenbugreport.zip into a new integration test.

Show
John Casey added a comment - Verified that this is fixed in 2.0.7+, and integrated the example from mavenbugreport.zip into a new integration test.
Hide
John Casey added a comment -

Adding fix-for for both 2.0.10 and 2.1.0-M1, since 2.1.0-M1 will actually be released first and may not incorporate all of the eventual issue fixes released in 2.0.10.

Show
John Casey added a comment - Adding fix-for for both 2.0.10 and 2.1.0-M1, since 2.1.0-M1 will actually be released first and may not incorporate all of the eventual issue fixes released in 2.0.10.

People

Vote (13)
Watch (12)

Dates

  • Created:
    Updated:
    Resolved: