You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Pat Podenski (JIRA)" <ji...@codehaus.org> on 2008/06/03 21:28:54 UTC
[jira] Updated: (MNG-3612) property in settings.xml not
interpolated when resolving parent POM from remote repository
[ http://jira.codehaus.org/browse/MNG-3612?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Pat Podenski updated MNG-3612:
------------------------------
Attachment: parent-and-child.zip
The two projects: base-pom and child in a zip file for convenience.
Use the separately attached settings.xml file in conjunction with these two projects to reproduce this problem.
> property in settings.xml not interpolated when resolving parent POM from remote repository
> ------------------------------------------------------------------------------------------
>
> Key: MNG-3612
> URL: http://jira.codehaus.org/browse/MNG-3612
> Project: Maven 2
> Issue Type: Bug
> Components: Inheritance and Interpolation
> Affects Versions: 2.0.9
> Environment: Java 1.5.0_11, Windows XP
> Reporter: Pat Podenski
> Attachments: parent-and-child.zip, pom.xml, pom.xml, settings.xml
>
>
> The objective was to use a property in the settings.xml within a profile. This property represents the remote repository host/port number. This is so that multiple entries of the host/port in the settings.xml profiles do not need to be edited when the host/port value changes.
> When working in a project whose parent POM is not installed in the local repository, download of the parent POM from the remote repository fails. If the host/port literal value is substituted in the repository element contained in the settings.xml profile, the download succeeds.
> If the parent POM is installed in the local repository resolution succeeds (of course we don't need the remote repository in this case unless trying to update the SNAPSHOT).
> Attached example files.
> 1 - settings.xml file used in ~/.m2/
> 2 - pom.xml for base-pom
> 3 - pom.xml for child
> To reproduce this problem:
> 1) deploy parent POM to remote repository (I use Artifactory which has an upload utility, so I didn't need to install parent POM in the local repository)
> 2) verify that parent POM is not in the local repository
> 3) try a 'mvn clean' or similar command in the child project - this operation fails (see below)
> 4) If the literal host/port value is put into the settings.xml repository element instead of ${repo-host}, the operation will succeed
> [INFO] Scanning for projects...
> [INFO] snapshot com.foo:base-pom:1-SNAPSHOT: checking for updates from central
> [WARNING] repository metadata for: 'snapshot com.foo:base-pom:1-SNAPSHOT' could not be retrieved
> from repository: central due to an error: Error transferring file
> [INFO] Repository 'central' will be blacklisted
> [INFO] ------------------------------------------------------------------------
> [ERROR] FATAL ERROR
> [INFO] ------------------------------------------------------------------------
> [INFO] Failed to resolve artifact.
> GroupId: com.foo
> ArtifactId: base-pom
> Version: 1-SNAPSHOT
> Reason: Unable to download the artifact from any repository
> com.foo:base-pom:pom:1-SNAPSHOT
> from the specified remote repositories:
> central (http://repo1.maven.org/maven2)
> [INFO] ------------------------------------------------------------------------
> [INFO] Trace
> org.apache.maven.reactor.MavenExecutionException: Cannot find parent: com.foo:base-pom for project:
> com.bar:child:jar:0.0.1-SNAPSHOT for project com.bar:child:jar:0.0.1-SNAPSHOT
> at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:378)
> at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:292)
> at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:129)
> at org.apache.maven.cli.MavenCli.main(MavenCli.java:287)
> 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: com.foo:base-pom f
> or project: com.bar:child:jar:0.0.1-SNAPSHOT for project com.bar:child:jar:0.0.1-SNAPSHOT
> at org.apache.maven.project.DefaultMavenProjectBuilder.assembleLineage(DefaultMavenProjectBu
> ilder.java:1370)
> at org.apache.maven.project.DefaultMavenProjectBuilder.buildInternal(DefaultMavenProjectBuil
> der.java:821)
> at org.apache.maven.project.DefaultMavenProjectBuilder.buildFromSourceFileInternal(DefaultMa
> venProjectBuilder.java:506)
> at org.apache.maven.project.DefaultMavenProjectBuilder.build(DefaultMavenProjectBuilder.java
> :198)
> at org.apache.maven.DefaultMaven.getProject(DefaultMaven.java:583)
> at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:461)
> at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:365)
> ... 11 more
> Caused by: org.apache.maven.project.ProjectBuildingException: POM 'com.foo:base-pom' not found in re
> pository: Unable to download the artifact from any repository
> com.foo:base-pom:pom:1-SNAPSHOT
> from the specified remote repositories:
> central (http://repo1.maven.org/maven2)
> for project com.foo:base-pom
> at org.apache.maven.project.DefaultMavenProjectBuilder.findModelFromRepository(DefaultMavenP
> rojectBuilder.java:603)
> at org.apache.maven.project.DefaultMavenProjectBuilder.assembleLineage(DefaultMavenProjectBu
> ilder.java:1366)
> ... 17 more
> Caused by: org.apache.maven.artifact.resolver.ArtifactNotFoundException: Unable to download the arti
> fact from any repository
> com.foo:base-pom:pom:1-SNAPSHOT
> from the specified remote repositories:
> central (http://repo1.maven.org/maven2)
> at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve(DefaultArtifactResolve
> r.java:212)
> at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve(DefaultArtifactResolve
> r.java:74)
> at org.apache.maven.project.DefaultMavenProjectBuilder.findModelFromRepository(DefaultMavenP
> rojectBuilder.java:556)
> ... 18 more
> Caused by: org.apache.maven.wagon.ResourceDoesNotExistException: Unable to download the artifact fro
> m any repository
> at org.apache.maven.artifact.manager.DefaultWagonManager.getArtifact(DefaultWagonManager.jav
> a:331)
> at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve(DefaultArtifactResolve
> r.java:200)
> ... 20 more
> [INFO] ------------------------------------------------------------------------
> [INFO] Total time: 3 seconds
> [INFO] Finished at: Tue Jun 03 07:57:24 PDT 2008
> [INFO] Final Memory: 8M/35M
> [INFO] ------------------------------------------------------------------------
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira