You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by "Krishnakumar B (JIRA)" <de...@geronimo.apache.org> on 2006/07/28 12:44:17 UTC

[jira] Updated: (GERONIMO-2124) Deploying an EAR with included WAR and there included commons-logging fails

     [ http://issues.apache.org/jira/browse/GERONIMO-2124?page=all ]

Krishnakumar B updated GERONIMO-2124:
-------------------------------------

    Attachment: SimpleServlet.war

Hi,

I tried this feature  in geronimo 1.1 and it works. The geronimo plan has
<hidden-classes>
	<filter>org.apache.log4j</filter>
</hidden-classes>

The server repository has log4j - 1.2.8.The application war has log4j 1.2.13 in WEB-INF/lib The Servlet code uses Logger in WEB-INF lib if i give hidden-classes. I call a method on Logger thats not present in 1.2.8 and it works.

The example u have  attached with JIRA also works.  Hence i am not sure why u got the exception except i see a change in JDK

I have used JDK1.4.2_09



> Deploying an EAR with included WAR and there included commons-logging fails
> ---------------------------------------------------------------------------
>
>                 Key: GERONIMO-2124
>                 URL: http://issues.apache.org/jira/browse/GERONIMO-2124
>             Project: Geronimo
>          Issue Type: Bug
>      Security Level: public(Regular issues) 
>          Components: deployment
>    Affects Versions: 1.0
>         Environment: Ubuntu Linux
> Java 5.0
> Geronimo 1.0 with Tomcat
>            Reporter: Markus Wolf
>         Attachments: ear-test.tar.gz, SimpleServlet.war
>
>
> I have an EAR archive containing a WAR archive.
> Inside this WAR archiv there is commons-logging bundled.
> To hide the commons-logging version from Geronimo the geronimo-web.xml contains a hidden-classes element with org.apache.commons.logging.
> But when a servlet is executed (which uses commons-logging) then there is a stacktrace regarding the two commons-logging versions.
> I got the following stacktrace:
> 15:39:45,536 ERROR [[/simpleservlet]] StandardWrapper.Throwable
> 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 de.nmmn.simple.SimpleServlet.init(SimpleServlet.java:44)
>         at javax.servlet.GenericServlet.init(GenericServlet.java:168)
>         at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1091)
>         at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:750)
>         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:130)
>         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
>         at org.apache.geronimo.tomcat.GeronimoStandardContext$SystemMethodValve.invoke(GeronimoStandardContext.java:272)
>         at org.apache.geronimo.tomcat.valve.TransactionContextValve.invoke(TransactionContextValve.java:53)
>         at org.apache.geronimo.tomcat.valve.ComponentContextValve.invoke(ComponentContextValve.java:47)
>         at org.apache.geronimo.tomcat.valve.InstanceContextValve.invoke(InstanceContextValve.java:60)
>         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
>         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
>         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
>         at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:526)
>         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
>         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
>         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
>         at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
>         at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
>         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
>         at java.lang.Thread.run(Thread.java:595)
> 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)
>         ... 24 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)
>         ... 25 more

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira