Issue Details (XML | Word | Printable)

Key: MNG-2068
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Critical Critical
Assignee: John Casey
Reporter: Brian Fox
Votes: 13
Watchers: 12
Operations

If you were logged in you would be able to see more operations.
Maven 2

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

Created: 12/Feb/06 06:58 PM   Updated: 10/Jan/09 03:56 PM
Component/s: Inheritance and Interpolation
Affects Version/s: 2.0.4, 2.0.5, 2.0.6
Fix Version/s: 2.0.7

Time Tracking:
Not Specified

File Attachments: 1. Zip Archive good-sample.zip (6 kB)
2. Zip Archive mavenbugreport.zip (2 kB)
3. Zip Archive sample.zip (5 kB)

Issue Links:
Duplicate
 
Related
 

Complexity: Intermediate
Testcase included: yes


 Description  « Hide
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



 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
Brian Fox added a comment - 12/Feb/06 07:03 PM
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.

Brian Fox added a comment - 12/Feb/06 07:34 PM
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.


Grzegorz Slowikowski added a comment - 13/Feb/06 03:09 AM
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


Brian Fox added a comment - 13/Feb/06 06:46 AM
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.

Brian Fox added a comment - 24/Feb/06 01:14 PM
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.

John Casey added a comment - 24/Feb/06 05:38 PM
confirmed fixed by Brian Fox...I added a variant of good-sample.zip as it0097.

Ingo Düppe added a comment - 01/Jun/06 01:13 PM
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.

Vincenz Braun added a comment - 12/Jan/07 07:49 AM
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.


Vincenz Braun added a comment - 12/Jan/07 07:50 AM
new test case with only 3 poms that fails with maven 2.0.4

Brian Fox added a comment - 12/Jan/07 09:59 AM
new test cases attached.

Brian Fox added a comment - 10/Apr/07 07:50 PM
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.


Rene Grob added a comment - 16/Apr/07 10:59 AM
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.

Denis Pasek added a comment - 14/Aug/07 11:35 AM
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).

John Casey added a comment - 02/Jul/08 05:49 PM
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?

Vincenz Braun added a comment - 03/Jul/08 04:21 AM
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?

John Casey added a comment - 03/Jul/08 11:08 AM
Verified that this is fixed in 2.0.7+, and integrated the example from mavenbugreport.zip into a new integration test.

John Casey added a comment - 03/Sep/08 04:59 PM
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.