[
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