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

Reply via email to