You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Arnaud Heritier (JIRA)" <ji...@codehaus.org> on 2009/06/09 11:39:46 UTC

[jira] Issue Comment Edited: (MNG-4148) Apply profiles from settings.xml to POMs built from the repository

    [ http://jira.codehaus.org/browse/MNG-4148?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=179756#action_179756 ] 

Arnaud Heritier edited comment on MNG-4148 at 6/9/09 4:38 AM:
--------------------------------------------------------------

I reproduced the issue with a project using a plugin which has an import of depMgt. Maven downloads the plugin, and then fails to download the pom from the import.
In our settings we defined a proxy * and have a profile which says that central repo allows snapshots. In logs I can see that to download the pom from the import which is a snapshot, Maven evicts the central repo (our proxy) :
{code}
[INFO] snapshot fr.mycompany.myproject.batch:myproject-batch:3.0.0-M1-SNAPSHOT: checking for updates from central
[DEBUG] Using mirror: http://maven-proxy.groupe.mycompany.fr/all (id: mycompany-mirror)
[DEBUG] Checking for pre-existing User-Agent configuration.
[DEBUG] Adding User-Agent configuration.
[DEBUG] Connecting to repository: 'mycompany-mirror' with url: 'http://maven-proxy.groupe.mycompany.fr/all'.
[DEBUG] myproject-batch: resolved to version 3.0.0-M1-20090603.080615-14 from repository central
[DEBUG] Retrieving parent-POM: fr.mycompany.myproject:myproject:pom:3.0.0-M1-SNAPSHOT for project: fr.mycompany.myproject.batch:myproject-batch:pom:null from the repository.
[INFO] snapshot fr.mycompany.myproject:myproject:3.0.0-M1-SNAPSHOT: checking for updates from central
[DEBUG] Using mirror: http://maven-proxy.groupe.mycompany.fr/all (id: mycompany-mirror)
[DEBUG] Checking for pre-existing User-Agent configuration.
[DEBUG] Adding User-Agent configuration.
[DEBUG] Connecting to repository: 'mycompany-mirror' with url: 'http://maven-proxy.groupe.mycompany.fr/all'.
[INFO] snapshot fr.mycompany.myproject:myproject:3.0.0-M1-SNAPSHOT: checking for updates from central
[DEBUG] Using mirror: http://maven-proxy.groupe.mycompany.fr/all (id: mycompany-mirror)
[DEBUG] Checking for pre-existing User-Agent configuration.
[DEBUG] Adding User-Agent configuration.
[DEBUG] Connecting to repository: 'mycompany-mirror' with url: 'http://maven-proxy.groupe.mycompany.fr/all'.
[DEBUG] myproject: resolved to version 3.0.0-M1-20090603.080615-14 from repository central
[DEBUG] Skipping disabled repository central
[DEBUG] myentity-pdg-jboss: using locally installed snapshot
[DEBUG] Skipping disabled repository central
[DEBUG] Using mirror: http://maven-proxy.groupe.mycompany.fr/all (id: mycompany-mirror)
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Failed to resolve artifact.

GroupId: fr.mycompany.myentity.myproject.pdg
ArtifactId: myentity-pdg-jboss
Version: 1.1.0-M1-SNAPSHOT

Reason: Unable to download the artifact from any repository

  fr.mycompany.myentity.myproject.pdg:myentity-pdg-jboss:pom:1.1.0-M1-SNAPSHOT

from the specified remote repositories:
  mycompany-mirror (http://maven-proxy.groupe.mycompany.fr/all)



[INFO] ------------------------------------------------------------------------
[DEBUG] Trace
org.apache.maven.lifecycle.LifecycleExecutionException: Unable to build project for plugin 'fr.mycompany.myproject.plugins:myproject-batchpackager-plugin': POM 'fr.gener
ali.myentity.myproject.pdg:myentity-pdg-jboss' not found in repository: Unable to download the artifact from any repository

  fr.mycompany.myentity.myproject.pdg:myentity-pdg-jboss:pom:1.1.0-M1-SNAPSHOT

from the specified remote repositories:
  mycompany-mirror (http://maven-proxy.groupe.mycompany.fr/all)

 for project fr.mycompany.myentity.myproject.pdg:myentity-pdg-jboss
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.verifyPlugin(DefaultLifecycleExecutor.java:1534)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.bindPluginToLifecycle(DefaultLifecycleExecutor.java:1479)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.constructLifecycleMappings(DefaultLifecycleExecutor.java:1245)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:518)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:371)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:332)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:181)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:356)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:137)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:356)
        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.plugin.InvalidPluginException: Unable to build project for plugin 'fr.mycompany.myproject.plugins:myproject-batchpackager-plugin': POM 'fr.ge
nerali.myentity.myproject.pdg:myentity-pdg-jboss' not found in repository: Unable to download the artifact from any repository

  fr.mycompany.myentity.myproject.pdg:myentity-pdg-jboss:pom:1.1.0-M1-SNAPSHOT

from the specified remote repositories:
  mycompany-mirror (http://maven-proxy.groupe.mycompany.fr/all)

 for project fr.mycompany.myentity.myproject.pdg:myentity-pdg-jboss
        at org.apache.maven.plugin.DefaultPluginManager.checkRequiredMavenVersion(DefaultPluginManager.java:286)
        at org.apache.maven.plugin.DefaultPluginManager.verifyVersionedPlugin(DefaultPluginManager.java:198)
        at org.apache.maven.plugin.DefaultPluginManager.verifyPlugin(DefaultPluginManager.java:177)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.verifyPlugin(DefaultLifecycleExecutor.java:1517)
        ... 17 more
Caused by: org.apache.maven.project.ProjectBuildingException: POM 'fr.mycompany.myentity.myproject.pdg:myentity-pdg-jboss' not found in repository: Unable to download the arti
fact from any repository

  fr.mycompany.myentity.myproject.pdg:myentity-pdg-jboss:pom:1.1.0-M1-SNAPSHOT

from the specified remote repositories:
  mycompany-mirror (http://maven-proxy.groupe.mycompany.fr/all)

 for project fr.mycompany.myentity.myproject.pdg:myentity-pdg-jboss
        at org.apache.maven.project.DefaultMavenProjectBuilder.findModelFromRepository(DefaultMavenProjectBuilder.java:605)
        at org.apache.maven.project.DefaultMavenProjectBuilder.buildFromRepository(DefaultMavenProjectBuilder.java:251)
        at org.apache.maven.project.DefaultMavenProjectBuilder.mergeManagedDependencies(DefaultMavenProjectBuilder.java:1466)
        at org.apache.maven.project.DefaultMavenProjectBuilder.processProjectLogic(DefaultMavenProjectBuilder.java:1008)
        at org.apache.maven.project.DefaultMavenProjectBuilder.buildInternal(DefaultMavenProjectBuilder.java:880)
        at org.apache.maven.project.DefaultMavenProjectBuilder.buildFromRepository(DefaultMavenProjectBuilder.java:255)
        at org.apache.maven.plugin.DefaultPluginManager.checkRequiredMavenVersion(DefaultPluginManager.java:270)
        ... 20 more
Caused by: org.apache.maven.artifact.resolver.ArtifactNotFoundException: Unable to download the artifact from any repository

  fr.mycompany.myentity.myproject.pdg:myentity-pdg-jboss:pom:1.1.0-M1-SNAPSHOT

from the specified remote repositories:
  mycompany-mirror (http://maven-proxy.groupe.mycompany.fr/all)


        at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:228)
        at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:90)
        at org.apache.maven.project.DefaultMavenProjectBuilder.findModelFromRepository(DefaultMavenProjectBuilder.java:558)
        ... 26 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:349)
        at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:216)
        ... 28 more
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2 seconds
[INFO] Finished at: Tue Jun 09 10:59:16 CEST 2009
[INFO] Final Memory: 3M/254M
[INFO] ------------------------------------------------------------------------
{code}

      was (Author: aheritier):
    I reproduced the issue with a project using a plugin which has an import of depMgt. Maven downloads the plugin, and then fails to download the pom from the import.
In our settings we defined a proxy * and have a profile which says that central repo allows snapshots. In logs I can see that to download the pom from the import which is a snapshot, Maven evicts the central repo (our proxy) :
{code}
[INFO] snapshot fr.mycompany.myproject.batch:myproject-batch:3.0.0-M1-SNAPSHOT: checking for updates from central
[DEBUG] Using mirror: http://maven-proxy.groupe.mycompany.fr/all (id: mycompany-mirror)
[DEBUG] Checking for pre-existing User-Agent configuration.
[DEBUG] Adding User-Agent configuration.
[DEBUG] Connecting to repository: 'mycompany-mirror' with url: 'http://maven-proxy.groupe.mycompany.fr/all'.
[DEBUG] myproject-batch: resolved to version 3.0.0-M1-20090603.080615-14 from repository central
[DEBUG] Retrieving parent-POM: fr.mycompany.myproject:myproject:pom:3.0.0-M1-SNAPSHOT for project: fr.mycompany.myproject.batch:myproject-batch:pom:null from the repository.
[INFO] snapshot fr.mycompany.myproject:myproject:3.0.0-M1-SNAPSHOT: checking for updates from central
[DEBUG] Using mirror: http://maven-proxy.groupe.mycompany.fr/all (id: mycompany-mirror)
[DEBUG] Checking for pre-existing User-Agent configuration.
[DEBUG] Adding User-Agent configuration.
[DEBUG] Connecting to repository: 'mycompany-mirror' with url: 'http://maven-proxy.groupe.mycompany.fr/all'.
[INFO] snapshot fr.mycompany.myproject:myproject:3.0.0-M1-SNAPSHOT: checking for updates from central
[DEBUG] Using mirror: http://maven-proxy.groupe.mycompany.fr/all (id: mycompany-mirror)
[DEBUG] Checking for pre-existing User-Agent configuration.
[DEBUG] Adding User-Agent configuration.
[DEBUG] Connecting to repository: 'mycompany-mirror' with url: 'http://maven-proxy.groupe.mycompany.fr/all'.
[DEBUG] myproject: resolved to version 3.0.0-M1-20090603.080615-14 from repository central
[DEBUG] Skipping disabled repository central
[DEBUG] ccj-pdg-jboss: using locally installed snapshot
[DEBUG] Skipping disabled repository central
[DEBUG] Using mirror: http://maven-proxy.groupe.mycompany.fr/all (id: mycompany-mirror)
{code}
  
> Apply profiles from settings.xml to POMs built from the repository
> ------------------------------------------------------------------
>
>                 Key: MNG-4148
>                 URL: http://jira.codehaus.org/browse/MNG-4148
>             Project: Maven 2
>          Issue Type: Improvement
>          Components: Artifacts and Repositories, POM, Profiles
>    Affects Versions: 2.1.0
>            Reporter: John Casey
>             Fix For: 2.2.x
>
>         Attachments: test-mng3553.zip
>
>
> When we declare a profile in the settings.xml, it will never be applied to POMs loaded from the Maven repository. This means that overriding the central repository definition - for instance - cannot be done without using mirror definitions, since transitive dependencies (any dependency of a direct dependency) will skip the modified definition and use the original from the super-POM instead.
> I'm attaching a testing setup that was originally reported for MNG-3553, which exhibits this problem when dealing with scope == import. The instructions for using it are as follows:
> {noformat}
> I installed locally a nexus server (1.3.3 Open Source) and I'm using maven 2.1.0 (I reproduced the issue with 2.0.10).
> In the releases repository of nexus you upload all artifacts given in the toUpload directory :
>     * parent 1.0.0 pom
>     * dependencies 1.0.0 pom
>     * module 1.0.0 pom and jar
> You'll find in the root of the archive my settings. It defines to use nexus for the central repository.
> You launch a build of the project and you'll have :
> [INFO] Scanning for projects...
> [INFO] ------------------------------------------------------------------------
> [INFO] Building Unnamed - org.apache.maven.it.mng3553:project:jar:1.0.0-SNAPSHOT
> [INFO]    task-segment: [install]
> [INFO] ------------------------------------------------------------------------
> [INFO] [resources:resources]
> [WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
> [INFO] skip non existing resourceDirectory E:\jtb\workspaces\tests\test-mng3553\project\src\main\resources
> Downloading: http://localhost:8081/nexus/content/groups/public//org/apache/maven/it/mng3553/module/1.0.0/module-1.0.0.pom
> 867b downloaded  (module-1.0.0.pom)
> Downloading: http://repo1.maven.org/maven2/org/apache/maven/it/mng3553/dependencies/1.0.0/dependencies-1.0.0.pom
> [WARNING] Unable to get resource 'org.apache.maven.it.mng3553:dependencies:pom:1.0.0' from repository central (http://repo1.maven.org/maven2): Authorization fai
> led: Access denied to: http://repo1.maven.org/maven2/org/apache/maven/it/mng3553/dependencies/1.0.0/dependencies-1.0.0.pom
> [INFO] ------------------------------------------------------------------------
> [ERROR] BUILD ERROR
> [INFO] ------------------------------------------------------------------------
> [INFO] Failed to resolve artifact.
> GroupId: org.apache.maven.it.mng3553
> ArtifactId: dependencies
> Version: 1.0.0
> Reason: Unable to download the artifact from any repository
>   org.apache.maven.it.mng3553:dependencies:pom:1.0.0
> from the specified remote repositories:
>   central (http://repo1.maven.org/maven2)
> [INFO] ------------------------------------------------------------------------
> [INFO] For more information, run Maven with the -e switch
> [INFO] ------------------------------------------------------------------------
> [INFO] Total time: 1 second
> [INFO] Finished at: Thu Apr 30 15:19:47 CEST 2009
> [INFO] Final Memory: 6M/254M
> [INFO] ------------------------------------------------------------------------
> You can see that the project downloads successfully the module-1.0.0 from nexus but it fails for depencencies which is an import. It tries to download it from the real central repository and not from the one I defined in my settings.
> The behavior is inconsistent...
> {noformat}

-- 
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