[ 
http://jira.codehaus.org/browse/MNG-4360?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Benjamin Bentmann closed MNG-4360.
----------------------------------

         Assignee: Benjamin Bentmann
       Resolution: Fixed
    Fix Version/s: 3.0-alpha-3

Fixed in [r815413|http://svn.apache.org/viewvc?view=rev&revision=815413].

> [regression] wagon-webdav-jackrabbit doesn't work with Maven 3.x
> ----------------------------------------------------------------
>
>                 Key: MNG-4360
>                 URL: http://jira.codehaus.org/browse/MNG-4360
>             Project: Maven 2
>          Issue Type: Bug
>          Components: Artifacts and Repositories, Dependencies
>    Affects Versions: 3.0-alpha-3
>            Reporter: Benjamin Bentmann
>            Assignee: Benjamin Bentmann
>             Fix For: 3.0-alpha-3
>
>
> Olivier mentioned this before and I finally found a reproducible test case:
> {noformat}
> [DEBUG] Failed to lookup a member of active collection with role: 
> org.apache.maven.wagon.Wagon and role-hint: dav
> -----------------------------------------------------
> realm =    project>org.apache.maven.its.mng3599:test:1.0-SNAPSHOT
> strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
> urls[0] = 
> file:/it-repo/org/apache/maven/wagon/wagon-webdav-jackrabbit/1.0-beta-3/wagon-webdav-jackrabbit-1.0-beta-3.jar
> urls[1] = 
> file:/it-repo/nekohtml/xercesMinimal/1.9.6.2/xercesMinimal-1.9.6.2.jar
> urls[2] = file:/it-repo/nekohtml/nekohtml/1.9.6.2/nekohtml-1.9.6.2.jar
> urls[3] = 
> file:/it-repo/commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.jar
> urls[4] = 
> file:/it-repo/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar
> urls[5] = file:/it-repo/commons-codec/commons-codec/1.2/commons-codec-1.2.jar
> urls[6] = 
> file:/it-repo/org/codehaus/plexus/plexus-utils/1.4.2/plexus-utils-1.4.2.jar
> urls[7] = 
> file:/it-repo/org/apache/jackrabbit/jackrabbit-webdav/1.4/jackrabbit-webdav-1.4.jar
> urls[8] = 
> file:/it-repo/org/apache/jackrabbit/jackrabbit-jcr-commons/1.4/jackrabbit-jcr-commons-1.4.jar
> urls[9] = file:/it-repo/org/slf4j/slf4j-api/1.3.0/slf4j-api-1.3.0.jar
> urls[10] = file:/it-repo/org/slf4j/slf4j-nop/1.5.0/slf4j-nop-1.5.0.jar
> urls[11] = file:/it-repo/javax/servlet/servlet-api/2.3/servlet-api-2.3.jar
> urls[12] = file:/it-repo/it/could/webdav/0.4/webdav-0.4.jar
> urls[13] = file:/it-repo/org/mortbay/jetty/jetty/4.2.12/jetty-4.2.12.jar
> urls[14] = 
> file:/it-repo/org/apache/maven/wagon/wagon-provider-test/1.0-beta-3/wagon-provider-test-1.0-beta-3.jar
> urls[15] = file:/it-repo/junit/junit/3.8.1/junit-3.8.1.jar
> urls[16] = 
> file:/it-repo/easymock/easymock/1.2_Java1.3/easymock-1.2_Java1.3.jar
> Number of foreign imports: 4
> import: Entry[import org.codehaus.plexus.util.xml.pull.XmlSerializer from 
> realm ClassRealm[plexus.core, parent: null]]
> import: Entry[import org.codehaus.plexus.util.xml.pull.XmlPullParserException 
> from realm ClassRealm[plexus.core, parent: null]]
> import: Entry[import org.codehaus.plexus.util.xml.pull.XmlPullParser from 
> realm ClassRealm[plexus.core, parent: null]]
> import: Entry[import org.codehaus.plexus.util.xml.Xpp3Dom from realm 
> ClassRealm[plexus.core, parent: null]]
> Number of parent imports: 20
> import: Entry[import org.codehaus.plexus.personality from realm null]
> import: Entry[import org.codehaus.plexus.logging from realm null]
> import: Entry[import org.codehaus.plexus.lifecycle from realm null]
> import: Entry[import org.codehaus.plexus.context from realm null]
> import: Entry[import org.codehaus.plexus.container from realm null]
> import: Entry[import org.codehaus.plexus.configuration from realm null]
> import: Entry[import org.codehaus.plexus.component from realm null]
> import: Entry[import org.codehaus.plexus.classworlds from realm null]
> import: Entry[import org.codehaus.plexus.PlexusContainerException from realm 
> null]
> import: Entry[import org.codehaus.plexus.PlexusContainer from realm null]
> import: Entry[import org.codehaus.plexus.PlexusConstants from realm null]
> import: Entry[import org.codehaus.plexus.MutablePlexusContainer from realm 
> null]
> import: Entry[import org.codehaus.plexus.DuplicateChildContainerException 
> from realm null]
> import: Entry[import org.codehaus.plexus.DefaultPlexusContainer from realm 
> null]
> import: Entry[import org.codehaus.plexus.DefaultContainerConfiguration from 
> realm null]
> import: Entry[import org.codehaus.plexus.DefaultComponentRegistry from realm 
> null]
> import: Entry[import org.codehaus.plexus.ContainerConfiguration from realm 
> null]
> import: Entry[import org.codehaus.plexus.ComponentRegistry from realm null]
> import: Entry[import org.codehaus.classworlds from realm null]
> import: Entry[import org.apache.maven from realm null]
> realm =    plexus.core
> strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
> urls[0] = file:/am/3.0/bin/../lib/commons-cli-1.2.jar
> urls[1] = file:/am/3.0/bin/../lib/google-collect-snapshot-20080530.jar
> urls[2] = file:/am/3.0/bin/../lib/maven-compat-3.0-SNAPSHOT.jar
> urls[3] = file:/am/3.0/bin/../lib/maven-core-3.0-SNAPSHOT.jar
> urls[4] = file:/am/3.0/bin/../lib/maven-embedder-3.0-SNAPSHOT.jar
> urls[5] = file:/am/3.0/bin/../lib/maven-model-3.0-SNAPSHOT.jar
> urls[6] = file:/am/3.0/bin/../lib/maven-model-builder-3.0-SNAPSHOT.jar
> urls[7] = file:/am/3.0/bin/../lib/maven-plugin-api-3.0-SNAPSHOT.jar
> urls[8] = file:/am/3.0/bin/../lib/nekohtml-1.9.6.2.jar
> urls[9] = file:/am/3.0/bin/../lib/plexus-cipher-1.4.jar
> urls[10] = 
> file:/am/3.0/bin/../lib/plexus-component-annotations-1.2.1-SNAPSHOT.jar
> urls[11] = file:/am/3.0/bin/../lib/plexus-container-default-1.2.1-SNAPSHOT.jar
> urls[12] = file:/am/3.0/bin/../lib/plexus-interpolation-1.11.jar
> urls[13] = file:/am/3.0/bin/../lib/plexus-sec-dispatcher-1.3.jar
> urls[14] = file:/am/3.0/bin/../lib/plexus-utils-1.5.15.jar
> urls[15] = file:/am/3.0/bin/../lib/wagon-file-1.0-beta-6.jar
> urls[16] = file:/am/3.0/bin/../lib/wagon-http-lightweight-1.0-beta-6.jar
> urls[17] = file:/am/3.0/bin/../lib/wagon-http-shared-1.0-beta-6.jar
> urls[18] = file:/am/3.0/bin/../lib/wagon-provider-api-1.0-beta-6.jar
> urls[19] = file:/am/3.0/bin/../lib/xbean-reflect-3.4.jar
> urls[20] = file:/am/3.0/bin/../lib/xercesMinimal-1.9.6.2.jar
> Number of foreign imports: 0
> -----------------------------------------------------
> org.codehaus.plexus.component.repository.exception.ComponentLookupException:
> Unable to lookup component 'org.apache.maven.wagon.Wagon', it could not be 
> started.
>       role: org.apache.maven.wagon.Wagon
>   roleHint: dav
> classRealm: project>org.apache.maven.its.mng3599:test:1.0-SNAPSHOT
>       at 
> org.codehaus.plexus.DefaultComponentRegistry.getComponent(DefaultComponentRegistry.java:366)
>       at 
> org.codehaus.plexus.DefaultComponentRegistry.lookup(DefaultComponentRegistry.java:178)
>       at 
> org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:394)
>       at 
> org.codehaus.plexus.component.collections.AbstractComponentCollection.lookup(AbstractComponentCollection.java:141)
>       at 
> org.codehaus.plexus.component.collections.ComponentMap.getComponentMap(ComponentMap.java:184)
>       at 
> org.codehaus.plexus.component.collections.ComponentMap.getMap(ComponentMap.java:148)
>       at 
> org.codehaus.plexus.component.collections.ComponentMap.get(ComponentMap.java:68)
>       at 
> org.apache.maven.repository.legacy.DefaultWagonManager.getWagon(DefaultWagonManager.java:730)
>       at 
> org.apache.maven.repository.legacy.DefaultWagonManager.getRemoteFile(DefaultWagonManager.java:280)
>       at 
> org.apache.maven.repository.legacy.DefaultWagonManager.getArtifact(DefaultWagonManager.java:163)
>       at 
> org.apache.maven.repository.legacy.DefaultWagonManager.getArtifact(DefaultWagonManager.java:178)
>       at 
> org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:176)
>       at 
> org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:515)
>       at 
> org.apache.maven.repository.LegacyRepositorySystem.resolve(LegacyRepositorySystem.java:306)
>       at 
> org.apache.maven.DefaultProjectDependenciesResolver.resolve(DefaultProjectDependenciesResolver.java:147)
>       at 
> org.apache.maven.DefaultProjectDependenciesResolver.resolve(DefaultProjectDependenciesResolver.java:66)
>       at 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.resolveProjectDependencies(DefaultLifecycleExecutor.java:379)
>       at 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:312)
>       at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:199)
>       at 
> org.apache.maven.embedder.MavenEmbedder.execute(MavenEmbedder.java:460)
>       at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:334)
>       at org.apache.maven.cli.MavenCli.main(MavenCli.java:70)
>       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:597)
>       at 
> org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
>       at 
> org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
>       at 
> org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
>       at 
> org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
> Caused by: 
> org.codehaus.plexus.component.repository.exception.ComponentLifecycleException:
>  
> Error constructing component role: 'org.apache.maven.wagon.Wagon', 
>   implementation: 'org.apache.maven.wagon.providers.webdav.WebDavWagon', role 
> hint: 'dav'
>       at 
> org.codehaus.plexus.component.builder.XBeanComponentBuilder.createComponentInstance(XBeanComponentBuilder.java:178)
>       at 
> org.codehaus.plexus.component.builder.XBeanComponentBuilder.build(XBeanComponentBuilder.java:123)
>       at 
> org.codehaus.plexus.component.manager.AbstractComponentManager.createComponentInstance(AbstractComponentManager.java:181)
>       at 
> org.codehaus.plexus.component.manager.PerLookupComponentManager.getComponent(PerLookupComponentManager.java:51)
>       at 
> org.codehaus.plexus.DefaultComponentRegistry.getComponent(DefaultComponentRegistry.java:351)
>       ... 29 more
> Caused by: java.lang.NoClassDefFoundError: 
> org/apache/commons/httpclient/HttpMethod
>       at java.lang.Class.getDeclaredConstructors0(Native Method)
>       at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
>       at java.lang.Class.getConstructors(Class.java:1459)
>       at 
> org.apache.xbean.recipe.ReflectionUtil.findConstructor(ReflectionUtil.java:527)
>       at 
> org.apache.xbean.recipe.ObjectRecipe.findFactory(ObjectRecipe.java:532)
>       at 
> org.apache.xbean.recipe.ObjectRecipe.internalCreate(ObjectRecipe.java:270)
>       at org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:96)
>       at org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:61)
>       at org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:49)
>       at 
> org.codehaus.plexus.component.builder.XBeanComponentBuilder.createComponentInstance(XBeanComponentBuilder.java:159)
>       ... 33 more
> Caused by: java.lang.ClassNotFoundException: 
> org.apache.commons.httpclient.HttpMethod
>       at 
> org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
>       at 
> org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:225)
>       at 
> org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:211)
>       at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
>       ... 43 more
> {noformat}
> The cause of this is that the core filters out wagon-http-shared from the 
> extension realm which causes {{AbstractHttpClientWagon}} to be loaded from 
> the core but the core does not also provide commons-httpclient.

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

        

Reply via email to