[
https://jira.codehaus.org/browse/WAGON-418?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Roberto Andrade updated WAGON-418:
----------------------------------
Description:
While [removing {{commons-logging}} from
{{wagon-http-shared}}|https://github.com/apache/maven-wagon/commit/24a54ebe78410c6a0bb508bed839809d5e34a753#diff-a8d5d8a2ce7e0b22dfab7b37e5b05c77L68]
(as per the comments above), the dependency from {{commons-httpclient:3.1}}
was also removed. That also being excluded in {{wagon-webdav-jackrabbit}}
causes any project that uses the webdav wagon as an extension (at least
starting from version 2.5) to break when running an operation as the
initialization of the HttpClient stack requires commons-logging:
{code}
com.google.inject.ProvisionException: Guice provision errors:
1) Error injecting constructor, java.lang.NoClassDefFoundError:
org/apache/commons/logging/LogFactory
at org.apache.maven.wagon.providers.webdav.WebDavWagon.<init>(Unknown Source)
while locating org.apache.maven.wagon.providers.webdav.WebDavWagon
1 error
at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1006)
at
com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1032)
at
org.eclipse.sisu.space.AbstractDeferredClass.get(AbstractDeferredClass.java:48)
at
com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:86)
at
com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:55)
at
com.google.inject.internal.ProviderInternalFactory$1.call(ProviderInternalFactory.java:70)
at
com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:100)
at
org.eclipse.sisu.plexus.PlexusLifecycleManager.onProvision(PlexusLifecycleManager.java:133)
at
com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:109)
at
com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:55)
at
com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:68)
at
com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:47)
at
com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:997)
at
com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1047)
at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:993)
at com.google.inject.Scopes$1$1.get(Scopes.java:59)
at org.eclipse.sisu.inject.LazyBeanEntry.getValue(LazyBeanEntry.java:82)
at
org.eclipse.sisu.plexus.LazyPlexusBean.getValue(LazyPlexusBean.java:51)
at
org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:260)
at
org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:252)
at
org.apache.maven.repository.legacy.DefaultWagonManager.getWagon(DefaultWagonManager.java:796)
at
org.apache.maven.repository.legacy.DefaultWagonManager.getWagon(DefaultWagonManager.java:779)
at
org.codehaus.mojo.wagon.shared.WagonUtils.createWagon(WagonUtils.java:59)
at
org.codehaus.mojo.wagon.AbstractWagonMojo.createWagon(AbstractWagonMojo.java:82)
at
org.codehaus.mojo.wagon.AbstractSingleWagonMojo.execute(AbstractSingleWagonMojo.java:63)
at
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:106)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
at
org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
at
org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:317)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:152)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at
org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at
org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at
org.apache.commons.httpclient.MultiThreadedHttpConnectionManager.<clinit>(MultiThreadedHttpConnectionManager.java:70)
at
org.apache.maven.wagon.providers.webdav.AbstractHttpClientWagon.<init>(AbstractHttpClientWagon.java:178)
at
org.apache.maven.wagon.providers.webdav.WebDavWagon.<init>(WebDavWagon.java:63)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at
com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:86)
at
com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:109)
at
com.google.inject.internal.ConstructorInjector.access$000(ConstructorInjector.java:32)
at
com.google.inject.internal.ConstructorInjector$1.call(ConstructorInjector.java:92)
at
com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:100)
at
com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:116)
at
com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:55)
at
com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:90)
at
com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:269)
at
com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:997)
at
com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1054)
at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:993)
... 45 more
Caused by: java.lang.ClassNotFoundException:
org.apache.commons.logging.LogFactory
at
org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
at
org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:259)
at
org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:235)
at
org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:227)
... 64 more
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 39.957s
[INFO] Finished at: Tue Jul 22 15:20:12 EDT 2014
[INFO] Final Memory: 41M/459M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal
org.codehaus.mojo:wagon-maven-plugin:1.0-beta-5:upload-single (upload-zip) on
project XXXX: Unable to create a Wagon instance for dav:http://domain/path:
Cannot find wagon which supports the requested protocol: dav:
com.google.inject.ProvisionException: Guice provision errors:
[ERROR]
[ERROR] 1) Error injecting constructor, java.lang.NoClassDefFoundError:
org/apache/commons/logging/LogFactory
[ERROR] at org.apache.maven.wagon.providers.webdav.WebDavWagon.<init>(Unknown
Source)
[ERROR] while locating org.apache.maven.wagon.providers.webdav.WebDavWagon
[ERROR] at
ClassRealm[extension>org.apache.maven.wagon:wagon-webdav-jackrabbit:2.7-SNAPSHOT,
parent: sun.misc.Launcher$AppClassLoader@5b5fdf31]
[ERROR] while locating org.apache.maven.wagon.Wagon annotated with
@com.google.inject.name.Named(value=dav)
[ERROR]
[ERROR] 1 error
[ERROR] role: org.apache.maven.wagon.Wagon
[ERROR] roleHint: dav: org.apache.commons.logging.LogFactory
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e
switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please
read the following articles:
[ERROR] [Help 1]
http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
{code}
This is fixable simply by adding the removed dependency (which was supposed to
be moved as per the commit comments from WAGON-388) on
{{wagon-webdav-jackrabbit}}.
I'm submitting a PR via Github as a proposed fix.
was:
While [removing {{commons-logging}} from
{{wagon-http-shared}}|https://github.com/apache/maven-wagon/commit/24a54ebe78410c6a0bb508bed839809d5e34a753#diff-a8d5d8a2ce7e0b22dfab7b37e5b05c77L68]
(as per the comments above), the dependency from {{commons-httpclient:3.1}}
was also removed. That also being excluded in {{wagon-webdav-jackrabbit}}
causes any project that uses the webdav wagon as an extension (at least
starting from version 2.5) to break when running an operation as the
[initialization of the HttpClient stack requires
commons-logging|https://gist.github.com/robertoandrade/ec46d6ad0df64470c6b2].
This is fixable simply by adding the removed dependency (which was supposed to
be moved as per the commit comments from WAGON-388) on
{{wagon-webdav-jackrabbit}}.
I'm submitting a PR via Github as a proposed fix.
> Changes from WAGON-388 broke the WebDAV Wagon
> ---------------------------------------------
>
> Key: WAGON-418
> URL: https://jira.codehaus.org/browse/WAGON-418
> Project: Maven Wagon
> Issue Type: Bug
> Components: wagon-webdav
> Affects Versions: 2.5, 2.6
> Environment: Apache Maven 3.1.1
> (0728685237757ffbf44136acec0402957f723d9a; 2013-09-17 11:22:22-0400)
> Maven home: /usr/local/Cellar/maven/3.1.1/libexec
> Java version: 1.7.0_51, vendor: Oracle Corporation
> Java home: /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre
> Default locale: en_US, platform encoding: US-ASCII
> OS name: "mac os x", version: "10.9.4", arch: "x86_64", family: "mac"
> Reporter: Roberto Andrade
>
> While [removing {{commons-logging}} from
> {{wagon-http-shared}}|https://github.com/apache/maven-wagon/commit/24a54ebe78410c6a0bb508bed839809d5e34a753#diff-a8d5d8a2ce7e0b22dfab7b37e5b05c77L68]
> (as per the comments above), the dependency from {{commons-httpclient:3.1}}
> was also removed. That also being excluded in {{wagon-webdav-jackrabbit}}
> causes any project that uses the webdav wagon as an extension (at least
> starting from version 2.5) to break when running an operation as the
> initialization of the HttpClient stack requires commons-logging:
> {code}
> com.google.inject.ProvisionException: Guice provision errors:
> 1) Error injecting constructor, java.lang.NoClassDefFoundError:
> org/apache/commons/logging/LogFactory
> at org.apache.maven.wagon.providers.webdav.WebDavWagon.<init>(Unknown
> Source)
> while locating org.apache.maven.wagon.providers.webdav.WebDavWagon
> 1 error
> at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1006)
> at
> com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1032)
> at
> org.eclipse.sisu.space.AbstractDeferredClass.get(AbstractDeferredClass.java:48)
> at
> com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:86)
> at
> com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:55)
> at
> com.google.inject.internal.ProviderInternalFactory$1.call(ProviderInternalFactory.java:70)
> at
> com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:100)
> at
> org.eclipse.sisu.plexus.PlexusLifecycleManager.onProvision(PlexusLifecycleManager.java:133)
> at
> com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:109)
> at
> com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:55)
> at
> com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:68)
> at
> com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:47)
> at
> com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:997)
> at
> com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1047)
> at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:993)
> at com.google.inject.Scopes$1$1.get(Scopes.java:59)
> at org.eclipse.sisu.inject.LazyBeanEntry.getValue(LazyBeanEntry.java:82)
> at
> org.eclipse.sisu.plexus.LazyPlexusBean.getValue(LazyPlexusBean.java:51)
> at
> org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:260)
> at
> org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:252)
> at
> org.apache.maven.repository.legacy.DefaultWagonManager.getWagon(DefaultWagonManager.java:796)
> at
> org.apache.maven.repository.legacy.DefaultWagonManager.getWagon(DefaultWagonManager.java:779)
> at
> org.codehaus.mojo.wagon.shared.WagonUtils.createWagon(WagonUtils.java:59)
> at
> org.codehaus.mojo.wagon.AbstractWagonMojo.createWagon(AbstractWagonMojo.java:82)
> at
> org.codehaus.mojo.wagon.AbstractSingleWagonMojo.execute(AbstractSingleWagonMojo.java:63)
> at
> org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:106)
> at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
> at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
> at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
> at
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
> at
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
> at
> org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
> at
> org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
> at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:317)
> at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:152)
> at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555)
> at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
> at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at
> org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
> at
> org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
> at
> org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
> at
> org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
> Caused by: java.lang.NoClassDefFoundError:
> org/apache/commons/logging/LogFactory
> at
> org.apache.commons.httpclient.MultiThreadedHttpConnectionManager.<clinit>(MultiThreadedHttpConnectionManager.java:70)
> at
> org.apache.maven.wagon.providers.webdav.AbstractHttpClientWagon.<init>(AbstractHttpClientWagon.java:178)
> at
> org.apache.maven.wagon.providers.webdav.WebDavWagon.<init>(WebDavWagon.java:63)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
> at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
> at
> com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:86)
> at
> com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:109)
> at
> com.google.inject.internal.ConstructorInjector.access$000(ConstructorInjector.java:32)
> at
> com.google.inject.internal.ConstructorInjector$1.call(ConstructorInjector.java:92)
> at
> com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:100)
> at
> com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:116)
> at
> com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:55)
> at
> com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:90)
> at
> com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:269)
> at
> com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:997)
> at
> com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1054)
> at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:993)
> ... 45 more
> Caused by: java.lang.ClassNotFoundException:
> org.apache.commons.logging.LogFactory
> at
> org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
> at
> org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:259)
> at
> org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:235)
> at
> org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:227)
> ... 64 more
> [INFO]
> ------------------------------------------------------------------------
> [INFO] BUILD FAILURE
> [INFO]
> ------------------------------------------------------------------------
> [INFO] Total time: 39.957s
> [INFO] Finished at: Tue Jul 22 15:20:12 EDT 2014
> [INFO] Final Memory: 41M/459M
> [INFO]
> ------------------------------------------------------------------------
> [ERROR] Failed to execute goal
> org.codehaus.mojo:wagon-maven-plugin:1.0-beta-5:upload-single (upload-zip) on
> project XXXX: Unable to create a Wagon instance for dav:http://domain/path:
> Cannot find wagon which supports the requested protocol: dav:
> com.google.inject.ProvisionException: Guice provision errors:
> [ERROR]
> [ERROR] 1) Error injecting constructor, java.lang.NoClassDefFoundError:
> org/apache/commons/logging/LogFactory
> [ERROR] at org.apache.maven.wagon.providers.webdav.WebDavWagon.<init>(Unknown
> Source)
> [ERROR] while locating org.apache.maven.wagon.providers.webdav.WebDavWagon
> [ERROR] at
> ClassRealm[extension>org.apache.maven.wagon:wagon-webdav-jackrabbit:2.7-SNAPSHOT,
> parent: sun.misc.Launcher$AppClassLoader@5b5fdf31]
> [ERROR] while locating org.apache.maven.wagon.Wagon annotated with
> @com.google.inject.name.Named(value=dav)
> [ERROR]
> [ERROR] 1 error
> [ERROR] role: org.apache.maven.wagon.Wagon
> [ERROR] roleHint: dav: org.apache.commons.logging.LogFactory
> [ERROR] -> [Help 1]
> [ERROR]
> [ERROR] To see the full stack trace of the errors, re-run Maven with the -e
> switch.
> [ERROR] Re-run Maven using the -X switch to enable full debug logging.
> [ERROR]
> [ERROR] For more information about the errors and possible solutions, please
> read the following articles:
> [ERROR] [Help 1]
> http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
> {code}
> This is fixable simply by adding the removed dependency (which was supposed
> to be moved as per the commit comments from WAGON-388) on
> {{wagon-webdav-jackrabbit}}.
> I'm submitting a PR via Github as a proposed fix.
--
This message was sent by Atlassian JIRA
(v6.1.6#6162)