tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From tomcat-u...@erit.se
Subject RE: What is the difference in classloading between tomcat 4.1.x and 5.0.x
Date Fri, 17 Sep 2004 11:39:05 GMT

Hello 

Sorry to drag this issue on but, I still don't get Tomcat 5 to recognize classes in jar files
located in $CATALINA_HOME/shared/lib

I tried my orginal application (which was running fine under Tomcat 4.1.x, both on Windows
and Linux)
with Tomcat 5.0.28 and then with 5.0.16, both under Windows and Linux, but the problem with
the ClassNotFoundEception still occurred.

Then I decided to reduce as many potential problem areas as possible, by writing a new very
simple application consisting of only one html page and one servlet, and only one external
jar-file. (My original application was quite large with many jar dependencies)

So I started up my IDE, created the new application, created the servlet, deployed in tomcat
4.1.x and, placed the jar-file in /shared/lib and of course it works.
Then I deployed under Tomcat 5.0.28, but no, it does not work. After moving the jarfile to
/common/lib it works though.

This really puzzels me.

What can I do to get to the bottom with this ?
Is there any specific configuration that I could have missed ?
Any other test cases I should perform ?
Should I send my code to someone for inspection ?


Any help is appreciated


On 2004-09-01 Shapira Yoav  wrote:


>Hi,
>Oh yeah, that reminds me, we might have a bug still present with
>classloading from shared/lib in 5.0.x.  Try a much earlier version, e.g.
>5.0.16, and let us know if that works.
>
>Yoav Shapira
>Millennium Research Informatics
>
>
>>-----Original Message-----
>>From: tomcat-user@erit.se [mailto:tomcat-user@erit.se]
>>Sent: Wednesday, September 01, 2004 3:58 PM
>>To: tomcat-user@jakarta.apache.org
>>Subject: What is the difference in classloading between tomcat 4.1.x
>and
>>5.0.x
>>
>>
>>In a web application running under Tomcat, I have defined a filter in
>the
>>web.xml file. The filter is pointing to a class that is packed in a
>jar-
>>file, and the jar-file is kept in the $CATALINA_HOME/shared/lib
>directory.
>>
>>In Tomcat 4.1.x the application is working without any problems. When
>>trying to run the same application under Tomcat 5.0.28 a
>>java.lang.ClassNotFoundException is thrown.
>>
>>If the jar-file is placed in $CATALINA_HOME/common/lib, then the class
>is
>>found  and the application runs without problem.
>>
>>The same issue appears when using Listeners in the web.xml file.
>>
>>I have also tried the same setup with 5.0.27 which leads to the same
>>result.
>>
>>What is it that has changed between 4.1x and 5.0.x, in regards to
>>classloading, in order to cause this problem ?
>>
>>Any help in understanding this problem is appreciated.
>>Regards
>>Erik
>>
>>
>> **********  stacktrace
>>******************************************************
>>2004-09-01 17:35:07
>>NamingContextListener[/Catalina/localhost/webdialInstance]:   Resource
>>parameters for UserTransaction = null
>>2004-09-01 17:35:07 StandardContext[/webdialInstance]Exception starting
>>filter Compress
>>java.lang.ClassNotFoundException:
>>se.erit.web.servlet.filters.gzip.GZIPFilter
>>	at
>>org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoade
>r.ja
>>va:1340)
>>	at
>>org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoade
>r.ja
>>va:1189)
>>	at
>>org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationF
>ilte
>>rConfig.java:211)
>>	at
>>org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(Applicati
>onFi
>>lterConfig.java:308)
>>	at
>>org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilt
>erCo
>>nfig.java:79)
>>	at
>>org.apache.catalina.core.StandardContext.filterStart(StandardContext.ja
>va:3
>>698)
>>	at
>>org.apache.catalina.core.StandardContext.start(StandardContext.java:434
>9)
>>	at
>>org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.j
>ava:
>>823)
>>	at
>>org.apache.catalina.core.ContainerBase.access$000(ContainerBase.java:12
>1)
>>	at
>>org.apache.catalina.core.ContainerBase$PrivilegedAddChild.run(Container
>Base
>>.java:143)
>>	at java.security.AccessController.doPrivileged(Native Method)
>>	at
>>org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:805)
>>	at
>>org.apache.catalina.core.StandardHost.addChild(StandardHost.java:595)
>>	at
>>org.apache.catalina.core.StandardHostDeployer.addChild(StandardHostDepl
>oyer
>>.java:903)
>>	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>	at
>>sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.ja
>va:3
>>9)
>>	at
>>sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccesso
>rImp
>>l.java:25)
>>	at java.lang.reflect.Method.invoke(Method.java:324)
>>	at
>>org.apache.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.java:
>216)
>>	at
>org.apache.commons.digester.SetNextRule.end(SetNextRule.java:256)
>>	at org.apache.commons.digester.Rule.end(Rule.java:276)
>>	at
>>org.apache.commons.digester.Digester.endElement(Digester.java:1058)
>>	at
>>org.apache.catalina.util.CatalinaDigester.endElement(CatalinaDigester.j
>ava:
>>76)
>>	at
>org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown
>>Source)
>>	at
>>org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Un
>know
>>n Source)
>>	at
>>org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDi
>spat
>>cher.dispatch(Unknown Source)
>>	at
>>org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unkn
>own
>>Source)
>>	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
>Source)
>>	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
>Source)
>>	at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
>>	at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown
>Source)
>>	at
>org.apache.commons.digester.Digester.parse(Digester.java:1567)
>>	at
>>org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeplo
>yer.
>>java:488)
>>	at
>>org.apache.catalina.core.StandardHost.install(StandardHost.java:863)
>>	at
>>org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.jav
>a:48
>>3)
>>	at
>>org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:427)
>>	at
>org.apache.catalina.startup.HostConfig.start(HostConfig.java:983)
>>	at
>>org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:3
>49)
>>	at
>>org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleS
>uppo
>>rt.java:119)
>>	at
>>org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1091)
>>	at
>org.apache.catalina.core.StandardHost.start(StandardHost.java:789)
>>	at
>>org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083)
>>	at
>>org.apache.catalina.core.StandardEngine.start(StandardEngine.java:478)
>>	at
>>org.apache.catalina.core.StandardService.start(StandardService.java:480
>)
>>	at
>>org.apache.catalina.core.StandardServer.start(StandardServer.java:2313)
>>	at org.apache.catalina.startup.Catalina.start(Catalina.java:556)
>>	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>	at
>>sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.ja
>va:3
>>9)
>>	at
>>sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccesso
>rImp
>>l.java:25)
>>	at java.lang.reflect.Method.invoke(Method.java:324)
>>	at
>org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:287)
>>	at
>org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:425)
>>
>>*************** end of trace
>>***************************************************
>>
>>
>>
>>
>>Erik Rosengren
>>ERIT Consulting AB
>>+46-70-7183333
>>mailto:erik.rosengren@erit.se
>>http://www.erit.se
>>
>>
>>
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
>>For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
>
>
>
>
>This e-mail, including any attachments, is a confidential business communication, and
may contain information that is confidential, proprietary and/or privileged.  This e-mail
is intended only for the individual(s) to whom it is addressed, and may not be saved, copied,
printed, disclosed or used by anyone else.  If you are not the(an) intended recipient, please
immediately delete this e-mail from your computer system and notify the sender.  Thank you.
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
>For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
>
>






---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org


Mime
View raw message