You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Grant McDonald (JIRA)" <ji...@codehaus.org> on 2008/06/30 14:27:26 UTC
[jira] Commented: (WAGON-60) wagon-webdav fails with
commons-logging classloader issues
[ http://jira.codehaus.org/browse/WAGON-60?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=139971#action_139971 ]
Grant McDonald commented on WAGON-60:
-------------------------------------
This issue appears to relate to how the extension class loader is populated. By having the extension class loader include commons-logging this conflicts where this is also included by the other reactors such as the reporting plugins. From the webdav-wagon pom:
<dependencies>
<dependency>
<groupId>slide</groupId>
<artifactId>slide-webdavlib</artifactId>
<version>2.1</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.0.4</version>
<scope>runtime</scope>
</dependency>
And from the debug output:
[DEBUG] Adding managed dependencies for unknown:wagon-webdav
[DEBUG] org.apache.maven.wagon:wagon-ssh-common:jar:1.0-beta-2
[DEBUG] org.apache.maven.wagon:wagon-ssh-common-test:jar:1.0-beta-2:test
[DEBUG] org.apache.maven.wagon:wagon-provider-api:jar:1.0-beta-2
[DEBUG] org.apache.maven.wagon:wagon-provider-test:jar:1.0-beta-2
[DEBUG] junit:junit:jar:3.8.1
[DEBUG] org.codehaus.plexus:plexus-interactivity-api:jar:1.0-alpha-4
[DEBUG] org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-8
[DEBUG] org.codehaus.plexus:plexus-utils:jar:1.0.4
[DEBUG] com.bglobal:acore:jar:1.0-SNAPSHOT (selected for null)
[DEBUG] slide:slide-webdavlib:jar:2.1:runtime (selected for runtime)
[DEBUG] commons-httpclient:commons-httpclient:jar:2.0.2:runtime (selected for runtime)
[DEBUG] commons-logging:commons-logging:jar:1.0.3:runtime (selected for runtime)
[DEBUG] jdom:jdom:jar:1.0:runtime (selected for runtime)
[DEBUG] de.zeigermann.xml:xml-im-exporter:jar:1.1:runtime (selected for runtime)
[DEBUG] commons-logging:commons-logging:jar:1.0.3:runtime (removed - nearer found: 1.0.4)
[DEBUG] commons-logging:commons-logging:jar:1.0.4:runtime (selected for runtime)
> wagon-webdav fails with commons-logging classloader issues
> ----------------------------------------------------------
>
> Key: WAGON-60
> URL: http://jira.codehaus.org/browse/WAGON-60
> Project: Maven Wagon
> Issue Type: Bug
> Components: wagon-webdav
> Affects Versions: 1.0-beta-1
> Environment: maven 2.0.4
> Reporter: Yuri Schimke
> Assignee: Carlos Sanchez
> Priority: Critical
>
> I tried it with a build extension and also putting jars in $M2_HOME/lib, but both ways I get classloader issues with commons-logging.
> My project uses commons logging and I've seen at least one other report that it can be a problem.
> with things in lib:
> Caused by: org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: Invalid class loader hierarchy. You have more than one version of 'org.apache.commons.logging.Log' visible, which is not allowed. (Caused by org.apache.commons.logging.LogConfigurationException: Invalid class loader hierarchy. You have more than one version of 'org.apache.commons.logging.Log' visible, which is not allowed.) (Caused by org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: Invalid class loader hierarchy. You have more than one version of 'org.apache.commons.logging.Log' visible, which is not allowed. (Caused by org.apache.commons.logging.LogConfigurationException: Invalid class loader hierarchy. You have more than one version of 'org.apache.commons.logging.Log' visible, which is not allowed.))
> at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:543)
> at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:235)
> at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:209)
> at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:351)
> at org.apache.commons.httpclient.HttpClient.<clinit>(HttpClient.java:69)
> ... 30 more
> Caused by: org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: Invalid class loader hierarchy. You have more than one version of 'org.apache.commons.logging.Log' visible, which is not allowed. (Caused by org.apache.commons.logging.LogConfigurationException: Invalid class loader hierarchy. You have more than one version of 'org.apache.commons.logging.Log' visible, which is not allowed.)
> at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:397)
> at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:529)
> ... 34 more
> Caused by: org.apache.commons.logging.LogConfigurationException: Invalid class loader hierarchy. You have more than one version of 'org.apache.commons.logging.Log' visible, which is not allowed.
> at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:385)
> using build extension:
> java.lang.ExceptionInInitializerError
> at org.apache.webdav.lib.WebdavSession.getSessionInstance(WebdavSession.java:145)
> at org.apache.webdav.lib.WebdavSession.getSessionInstance(WebdavSession.java:127)
> at org.apache.webdav.lib.WebdavResource.setClient(WebdavResource.java:1273)
> at org.apache.webdav.lib.WebdavResource.setHttpURL(WebdavResource.java:1298)
> at org.apache.webdav.lib.WebdavResource.setHttpURL(WebdavResource.java:1320)
> at org.apache.webdav.lib.WebdavResource.setHttpURL(WebdavResource.java:1408)
> at org.apache.webdav.lib.WebdavResource.<init>(WebdavResource.java:290)
> at org.apache.maven.wagon.providers.webdav.CorrectedWebdavResource.<init>(CorrectedWebdavResource.java:52)
> at org.apache.maven.wagon.providers.webdav.WebDavWagon.openConnection(WebDavWagon.java:139)
> at org.apache.maven.wagon.AbstractWagon.connect(AbstractWagon.java:143)
> at org.apache.maven.wagon.AbstractWagon.connect(AbstractWagon.java:106)
> at org.apache.maven.plugins.site.SiteDeployMojo.execute(SiteDeployMojo.java:132)
> at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:412)
> at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:534)
> at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:475)
> at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:454)
> at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:306)
> at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:273)
> at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:140)
> 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:256)
> 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:585)
> 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.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: Class org.apache.commons.logging.impl.Jdk14Logger does not implement Log
> at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:532)
> at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:272)
> at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:246)
> at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:395)
> at org.apache.commons.httpclient.HttpClient.<clinit>(HttpClient.java:69)
> ... 30 more
> Caused by: org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: Class org.apache.commons.logging.impl.Jdk14Logger does not implement Log
> at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:416)
> at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:525)
> ... 34 more
> Caused by: org.apache.commons.logging.LogConfigurationException: Class org.apache.commons.logging.impl.Jdk14Logger does not implement Log
> at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:412)
> ... 35 more
--
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