[ http://jira.codehaus.org/browse/MNG-2118?page=comments#action_60011 ] 

Jason Dillon commented on MNG-2118:
-----------------------------------

I also noticed yesterday, that if you do not list central for <repositories> 
and at least one of the <repository> listed fail, that Maven 2.0.2 will fail to 
find artifacts from the inherited "central"

> Listing central repo in pluginRepositories confuses Maven
> ---------------------------------------------------------
>
>          Key: MNG-2118
>          URL: http://jira.codehaus.org/browse/MNG-2118
>      Project: Maven 2
>         Type: Bug

>   Components: POM, Plugins and Lifecycle
>     Versions: 2.0.2
>     Reporter: Jason Dillon
>     Priority: Critical

>
>
> It appears that if you list the central repository in the pluginRepositories, 
> that it may cause Maven to incorrectly check the central repository for 
> plugin data.
> Specifically, I found this when using the maven-clean-plugin 2.1.  I did not 
> have this plugin in my local repository, and when running {{mvn clean}} it 
> causes the build to fail:
> {noformat}
> + Error stacktraces are turned on.
> [DEBUG] Building Maven user-level plugin registry from: 
> '/Users/jason/.m2/plugin-registry.xml'
> [DEBUG] Building Maven global-level plugin registry from: 
> '/Users/jason/ws/paybytouch/dev/paycore/main/tools/maven/conf/plugin-registry.xml'
> [INFO] Scanning for projects...
> [INFO] Reactor build order: 
> [INFO]   Paycore
> [INFO]   Paycore :: Merchant
> [INFO]   Paycore :: Merchant :: Core
> [INFO]   Paycore :: Merchant :: Services
> [INFO] 
> ----------------------------------------------------------------------------
> [INFO] Building Paycore
> [INFO]    task-segment: [clean]
> [INFO] 
> ----------------------------------------------------------------------------
> [DEBUG] maven-clean-plugin: resolved to version 2.1 from repository 
> maven-snapshots
> [DEBUG] Trying repository maven-snapshots
> Downloading: 
> http://snapshots.maven.codehaus.org/maven2/org/apache/maven/plugins/maven-clean-plugin/2.1/maven-clean-plugin-2.1.pom
> [DEBUG] Artifact not found - using stub model: Unable to locate resource in 
> repository
>   org.apache.maven.plugins:maven-clean-plugin:pom:2.1
> from the specified remote repositories:
>   central (http://repo1.maven.org/maven2),
>   maven-snapshots (http://snapshots.maven.codehaus.org/maven2),
>   paybytouch-legacy (http://repository.paybytouch.com/m1/repository)
> [DEBUG] Using defaults for missing POM 
> org.apache.maven.plugins:maven-clean-plugin:pom:2.1
> [DEBUG] maven-surefire-plugin: resolved to version 2.1.3-SNAPSHOT from 
> repository maven-snapshots
> [DEBUG] maven-surefire-plugin: resolved to version 2.1.3-20060228.012944-10 
> from repository maven-snapshots
> [DEBUG] Retrieving parent-POM from the repository for project: 
> null:maven-surefire-plugin:maven-plugin:2.1.3-20060228.012944-10
> [DEBUG] maven-one-plugin: resolved to version 1.0-20060213.011019-4 from 
> repository maven-snapshots
> [DEBUG] maven-one-plugin: resolved to version 1.0-20060213.011019-4 from 
> repository maven-snapshots
> [DEBUG] org.apache.maven.plugins:maven-clean-plugin:maven-plugin:2.1 
> (selected for runtime)
> -----------------------------------------------------
> this realm = app0.child-container[org.apache.maven.plugins:maven-clean-plugin]
> urls[0] = 
> file:/Users/jason/.m2/repository/org/apache/maven/plugins/maven-clean-plugin/2.1/maven-clean-plugin-2.1.jar
> Number of imports: 0
> this realm = plexus.core.maven
> urls[0] = 
> file:/Users/jason/ws/paybytouch/dev/paycore/main/tools/maven/lib/commons-cli-1.0.jar
> urls[1] = 
> file:/Users/jason/ws/paybytouch/dev/paycore/main/tools/maven/lib/doxia-sink-api-1.0-alpha-7.jar
> urls[2] = 
> file:/Users/jason/ws/paybytouch/dev/paycore/main/tools/maven/lib/jsch-0.1.24.jar
> urls[3] = 
> file:/Users/jason/ws/paybytouch/dev/paycore/main/tools/maven/lib/maven-artifact-2.0.2.jar
> urls[4] = 
> file:/Users/jason/ws/paybytouch/dev/paycore/main/tools/maven/lib/maven-artifact-manager-2.0.2.jar
> urls[5] = 
> file:/Users/jason/ws/paybytouch/dev/paycore/main/tools/maven/lib/maven-core-2.0.2-javadoc.jar
> urls[6] = 
> file:/Users/jason/ws/paybytouch/dev/paycore/main/tools/maven/lib/maven-core-2.0.2.jar
> urls[7] = 
> file:/Users/jason/ws/paybytouch/dev/paycore/main/tools/maven/lib/maven-error-diagnostics-2.0.2.jar
> urls[8] = 
> file:/Users/jason/ws/paybytouch/dev/paycore/main/tools/maven/lib/maven-model-2.0.2.jar
> urls[9] = 
> file:/Users/jason/ws/paybytouch/dev/paycore/main/tools/maven/lib/maven-monitor-2.0.2.jar
> urls[10] = 
> file:/Users/jason/ws/paybytouch/dev/paycore/main/tools/maven/lib/maven-plugin-api-2.0.2.jar
> urls[11] = 
> file:/Users/jason/ws/paybytouch/dev/paycore/main/tools/maven/lib/maven-plugin-descriptor-2.0.2.jar
> urls[12] = 
> file:/Users/jason/ws/paybytouch/dev/paycore/main/tools/maven/lib/maven-plugin-parameter-documenter-2.0.2.jar
> urls[13] = 
> file:/Users/jason/ws/paybytouch/dev/paycore/main/tools/maven/lib/maven-plugin-registry-2.0.2.jar
> urls[14] = 
> file:/Users/jason/ws/paybytouch/dev/paycore/main/tools/maven/lib/maven-profile-2.0.2.jar
> urls[15] = 
> file:/Users/jason/ws/paybytouch/dev/paycore/main/tools/maven/lib/maven-project-2.0.2.jar
> urls[16] = 
> file:/Users/jason/ws/paybytouch/dev/paycore/main/tools/maven/lib/maven-reporting-api-2.0.2.jar
> urls[17] = 
> file:/Users/jason/ws/paybytouch/dev/paycore/main/tools/maven/lib/maven-repository-metadata-2.0.2.jar
> urls[18] = 
> file:/Users/jason/ws/paybytouch/dev/paycore/main/tools/maven/lib/maven-settings-2.0.2.jar
> urls[19] = 
> file:/Users/jason/ws/paybytouch/dev/paycore/main/tools/maven/lib/plexus-interactivity-api-1.0-alpha-4.jar
> urls[20] = 
> file:/Users/jason/ws/paybytouch/dev/paycore/main/tools/maven/lib/wagon-file-1.0-alpha-6.jar
> urls[21] = 
> file:/Users/jason/ws/paybytouch/dev/paycore/main/tools/maven/lib/wagon-http-lightweight-1.0-alpha-6.jar
> urls[22] = 
> file:/Users/jason/ws/paybytouch/dev/paycore/main/tools/maven/lib/wagon-provider-api-1.0-alpha-6.jar
> urls[23] = 
> file:/Users/jason/ws/paybytouch/dev/paycore/main/tools/maven/lib/wagon-ssh-1.0-alpha-6.jar
> urls[24] = 
> file:/Users/jason/ws/paybytouch/dev/paycore/main/tools/maven/lib/wagon-ssh-external-1.0-alpha-6.jar
> Number of imports: 0
> this realm = plexus.core
> urls[0] = 
> file:/Users/jason/ws/paybytouch/dev/paycore/main/tools/maven/core/plexus-container-default-1.0-alpha-9.jar
> urls[1] = 
> file:/Users/jason/ws/paybytouch/dev/paycore/main/tools/maven/core/plexus-utils-1.1.jar
> Number of imports: 0
> -----------------------------------------------------
> [INFO] 
> ----------------------------------------------------------------------------
> [ERROR] BUILD ERROR
> [INFO] 
> ----------------------------------------------------------------------------
> [INFO] Internal error in the plugin manager executing goal 
> 'org.apache.maven.plugins:maven-clean-plugin:2.1:clean': Unable to find the 
> mojo 'org.apache.maven.plugins:maven-clean-plugin:2.1:clean' in the plugin 
> 'org.apache.maven.plugins:maven-clean-plugin'
> org/apache/maven/shared/model/fileset/SetBase
> [INFO] 
> ----------------------------------------------------------------------------
> [DEBUG] Trace
> org.apache.maven.lifecycle.LifecycleExecutionException: Internal error in the 
> plugin manager executing goal 
> 'org.apache.maven.plugins:maven-clean-plugin:2.1:clean': Unable to find the 
> mojo 'org.apache.maven.plugins:maven-clean-plugin:2.1:clean' in the plugin 
> 'org.apache.maven.plugins:maven-clean-plugin'
>       at 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:535)
>       at 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:472)
>       at 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:451)
>       at 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:303)
>       at 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:270)
>       at 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:139)
>       at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:322)
>       at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:115)
>       at org.apache.maven.cli.MavenCli.main(MavenCli.java:249)
>       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:324)
>       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.PluginManagerException: Unable to find the 
> mojo 'org.apache.maven.plugins:maven-clean-plugin:2.1:clean' in the plugin 
> 'org.apache.maven.plugins:maven-clean-plugin'
>       at 
> org.apache.maven.plugin.DefaultPluginManager.getConfiguredMojo(DefaultPluginManager.java:536)
>       at 
> org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:393)
>       at 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:531)
>       ... 16 more
> Caused by: 
> org.codehaus.plexus.component.repository.exception.ComponentLookupException: 
> Unable to lookup component 
> 'org.apache.maven.plugin.Mojoorg.apache.maven.plugins:maven-clean-plugin:2.1:clean',
>  it could not be created
>       at 
> org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:335)
>       at 
> org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:440)
>       at 
> org.apache.maven.plugin.DefaultPluginManager.getConfiguredMojo(DefaultPluginManager.java:527)
>       ... 18 more
> Caused by: 
> org.codehaus.plexus.component.factory.ComponentInstantiationException: Could 
> not instanciate component: role: 'null', implementation: 
> 'org.apache.maven.plugin.clean.CleanMojo'
>       at 
> org.codehaus.plexus.component.factory.java.JavaComponentFactory.makeException(JavaComponentFactory.java:77)
>       at 
> org.codehaus.plexus.component.factory.java.JavaComponentFactory.newInstance(JavaComponentFactory.java:62)
>       at 
> org.codehaus.plexus.DefaultPlexusContainer.createComponentInstance(DefaultPlexusContainer.java:1464)
>       at 
> org.codehaus.plexus.component.manager.AbstractComponentManager.createComponentInstance(AbstractComponentManager.java:93)
>       at 
> org.codehaus.plexus.component.manager.PerLookupComponentManager.getComponent(PerLookupComponentManager.java:48)
>       at 
> org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:331)
>       ... 20 more
> Caused by: java.lang.NoClassDefFoundError: 
> org/apache/maven/shared/model/fileset/SetBase
>       at java.lang.Class.getDeclaredConstructors0(Native Method)
>       at java.lang.Class.privateGetDeclaredConstructors(Class.java:1618)
>       at java.lang.Class.getConstructor0(Class.java:1930)
>       at java.lang.Class.newInstance0(Class.java:278)
>       at java.lang.Class.newInstance(Class.java:261)
>       at 
> org.codehaus.plexus.component.factory.java.JavaComponentFactory.newInstance(JavaComponentFactory.java:44)
>       ... 24 more
> [INFO] 
> ----------------------------------------------------------------------------
> [INFO] Total time: 1 second
> [INFO] Finished at: Wed Mar 01 14:36:37 PST 2006
> [INFO] Final Memory: 2M/4M
> [INFO] 
> ----------------------------------------------------------------------------
> {noformat}
> I had included the central repo in my {{pom.xml}}:
> {code}
>     <pluginRepositories>
>         <pluginRepository>
>             <id>central</id>
>             <name>Central Maven Repository</name>
>             <url>http://repo1.maven.org/maven2</url>
>         </pluginRepository>
>         
>         <pluginRepository>
>             <id>maven-snapshots</id>
>             <name>Maven Snapshots Repository</name>
>             <url>http://snapshots.maven.codehaus.org/maven2</url>
>         </pluginRepository>
>         
>         <!-- Legacy Plugin Repositories -->
>         
>         <pluginRepository>
>             <id>paybytouch-legacy</id>
>             <name>PayByTouch Repository (Maven 1)</name>
>             <url>http://repository.paybytouch.com/m1/repository</url>
>             <layout>legacy</layout>
>         </pluginRepository>
>     </pluginRepositories>
> {code}
> Removing the central entry from my {{pom.xml}} resolved the problem:
> {code}
>     <pluginRepositories>
>         <pluginRepository>
>             <id>maven-snapshots</id>
>             <name>Maven Snapshots Repository</name>
>             <url>http://snapshots.maven.codehaus.org/maven2</url>
>         </pluginRepository>
>         
>         <!-- Legacy Plugin Repositories -->
>         
>         <pluginRepository>
>             <id>paybytouch-legacy</id>
>             <name>PayByTouch Repository (Maven 1)</name>
>             <url>http://repository.paybytouch.com/m1/repository</url>
>             <layout>legacy</layout>
>         </pluginRepository>
>     </pluginRepositories>
> {code}

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


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to