Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

ClassNotFound Bug in WL 6.1 sp2

2 views
Skip to first unread message

Alex Jeannopoulos

unread,
Jan 8, 2002, 1:16:42 AM1/8/02
to
It seems that Wl6.1 sp2 has introduced a new bug in the loading of
classes for a web application. WL 6.1 sp2 is only is only picking up
one of the jar files located in WEB-INF/lib. My servlet is contained
in another jar file which WL has not loaded into its classloader.

<Jan 7, 2002 10:31:15 PM EST> <Error> <HTTP>
<[WebAppServletContext(2833604,wmtest,/wmtest)] Servlet failed with
ServletException
javax.servlet.ServletException: Servlet class:
'cibc.framework.servlet.SnoopServlet' could not be loaded - the
requested class wasn't found in the classpath:
'I:\weblogic\wlserver6.1sp2\config\mydomain\applications\.wlnotdelete\wl_comp64801.war;I:\weblogic\wlserver6.1sp2\config\mydomain\applications\.wlnotdelete\WEB-INF\_tmp_war_myserver_myserver_wmtest\WEB-INF\lib\cos-19june200164803.jar;I:\weblogic\wlserver6.1sp2\config\mydomain\applications\.wlnotdelete\WEB-INF\_tmp_war_myserver_myserver_wmtest\cls64802.jar'

My WEB-INF/lib directory contains the following files
cos-19june2001.jar
ecs-1.4.1.jar
gnu-regexp-1.1.4.jar
HTTPClient-0.3.3.jar
jasper-runtime-4.0.1.jar
jaws-1.3.1.jar
jsdk-2.3.jar
webmacro-1.0.jar
wiki-1.0.jar
wmapp-1.0.jar
xalan-1.2.2.jar
xerces-1.4.4.jar

By the looks of the error line it looks like the classloader loads the
first file and skipped over all the other jar files located in
WEB-INF/lib. I have also launched the server in -verbose mode and seen
the server choke when trying to load the classes located in the jar
files. If I un jar all the jar files into WEB-INF/classes the servlet
works. Now the servlet is not using any EBJ classes. It is a plain
servlet. I have stripped the servlet down and made it into a snoop
servlet that dumps the request. This also fails if the class is
located in a jar file I WEB-INF/lib. This fails as an expanded webapp
under the applications directory or as a war file. From the J2ee
tutorial on the sun site states the following:

War File Notes:
The Web server should automatically recognize jar files in the war
file's WEB-INF/lib directory. A bug in the J2EE RI 1.2.1 causes jar
files located in the WEB-INF/lib directory not to be recognized.

The above use to work in WL6.1 sp1 and also Resin 2.4 which is Jsdk
2.3 compliant. WL 6.1 sp2 seems to have introduced a new bug.

Alex Jeannopoulos

Scott Wilson-Billing

unread,
Jan 14, 2002, 11:41:07 AM1/14/02
to

I'm also seeing this problem. I have four jars under WEB-INF/lib but it looks like
WL only appears to load two of them - which doesn't really help me :(

Can anyone from bea shed more light on this?

Scott Wilson-Billing

Nagesh

unread,
Jan 15, 2002, 3:10:10 AM1/15/02
to

Are you getting any kind of StringIndexoutOfBound exceptions while the
webapp loads?
while reading the manifest entries, if the name value pairs fold into the
next line, this exception is thrown and it prevents the jar from being
loaded.
This issue has been fixed and you can get a fix from sup...@bea.com
-nagesh

Scott Wilson-Billing

unread,
Jan 15, 2002, 4:22:28 AM1/15/02
to

Can't see any. This is an example of what we get:-

java.lang.ClassNotFoundException: org.apache.struts.action.ActionServlet
at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:179)
at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:65)
at java.lang.ClassLoader.loadClass(ClassLoader.java:297)
at java.lang.ClassLoader.loadClass(ClassLoader.java:253)
at weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:43)
at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:583)
at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:2221)
at weblogic.servlet.internal.WebAppServletContext.preloadServlets(WebAppServletContext.java:2178)
at weblogic.servlet.internal.WebAppServletContext.preloadServlets(WebAppServletContext.java:2163)
at weblogic.servlet.internal.HttpServer.preloadServlets(HttpServer.java:475)
at weblogic.servlet.internal.WebService.preloadServlets(WebService.java:450)
at weblogic.t3.srvr.ServletInitRunner.run(ServletInitRunner.java:49)
at java.lang.Thread.run(Thread.java:484)
####<14-Jan-02 15:18:19 GMT> <Error> <HTTP> <AURORA> <localhost> <Thread-5> <system>
<> <101046> <[WebAppServletContext(5168974,mms,/mms)] Error loading servlet: 'validator'>

java.lang.NoClassDefFoundError: org/apache/struts/util/FastHashMap
at com.wintecinc.struts.validation.ValidatorResources.<init>(ValidatorResources.java:86)
at com.wintecinc.struts.validation.ValidatorResourcesInitializer.initialize(ValidatorResourcesInitializer.java:140)
at com.wintecinc.struts.validation.ValidatorResourcesInitializer.initialize(ValidatorResourcesInitializer.java:123)
at com.wintecinc.struts.action.ValidatorServlet.initMapping(ValidatorServlet.java:223)
at com.wintecinc.struts.action.ValidatorServlet.init(ValidatorServlet.java:123)
at javax.servlet.GenericServlet.init(GenericServlet.java:258)
at weblogic.servlet.internal.ServletStubImpl.createServlet(ServletStubImpl.java:700)
at weblogic.servlet.internal.ServletStubImpl.createInstances(ServletStubImpl.java:643)
at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:588)
at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:2221)
at weblogic.servlet.internal.WebAppServletContext.preloadServlets(WebAppServletContext.java:2178)
at weblogic.servlet.internal.WebAppServletContext.preloadServlets(WebAppServletContext.java:2163)
at weblogic.servlet.internal.HttpServer.preloadServlets(HttpServer.java:475)
at weblogic.servlet.internal.WebService.preloadServlets(WebService.java:450)
at weblogic.t3.srvr.ServletInitRunner.run(ServletInitRunner.java:49)
at java.lang.Thread.run(Thread.java:484)
####<14-Jan-02 15:18:19 GMT> <Error> <HTTP> <AURORA> <localhost> <Thread-5> <system>
<> <101124> <[WebAppServletContext(5168974,mms,/mms)] Error loading servlet: "validator">

java.lang.NoClassDefFoundError: org/apache/struts/util/FastHashMap
at com.wintecinc.struts.validation.ValidatorResources.<init>(ValidatorResources.java:86)
at com.wintecinc.struts.validation.ValidatorResourcesInitializer.initialize(ValidatorResourcesInitializer.java:140)
at com.wintecinc.struts.validation.ValidatorResourcesInitializer.initialize(ValidatorResourcesInitializer.java:123)
at com.wintecinc.struts.action.ValidatorServlet.initMapping(ValidatorServlet.java:223)
at com.wintecinc.struts.action.ValidatorServlet.init(ValidatorServlet.java:123)
at javax.servlet.GenericServlet.init(GenericServlet.java:258)
at weblogic.servlet.internal.ServletStubImpl.createServlet(ServletStubImpl.java:700)
at weblogic.servlet.internal.ServletStubImpl.createInstances(ServletStubImpl.java:643)
at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:588)
at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:2221)
at weblogic.servlet.internal.WebAppServletContext.preloadServlets(WebAppServletContext.java:2178)
at weblogic.servlet.internal.WebAppServletContext.preloadServlets(WebAppServletContext.java:2163)
at weblogic.servlet.internal.HttpServer.preloadServlets(HttpServer.java:475)
at weblogic.servlet.internal.WebService.preloadServlets(WebService.java:450)
at weblogic.t3.srvr.ServletInitRunner.run(ServletInitRunner.java:49)
at java.lang.Thread.run(Thread.java:484)

Alex Jeannopoulos

unread,
Jan 20, 2002, 11:30:20 PM1/20/02
to
This is a confirmed bug with WL 6.1 sp2. They introduced it with sp2.
I opened a bug case a week and half ago with a reproducible example
and have yet to get a response.

Alex

On 15 Jan 2002 01:22:28 -0800, "Scott Wilson-Billing"

Marcel Schutte

unread,
Apr 9, 2002, 1:03:56 PM4/9/02
to

I found that wl 6.1 sp2 doesn't accept jars with more than one . (period) in the
filename. So cos-19june2001.jar will work, but ecs-1.4.1.jar (or any of the other
jars in the original post) won't.

Marcel

0 new messages