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

Classloader problems, WLS6.1 and EAR file

1 view
Skip to first unread message

Mike Dunbar

unread,
Feb 20, 2002, 4:12:02 PM2/20/02
to

I'm having trouble deploying/running my application as an EAR file. No problem
when deploying the EJBs (4 jar files) and WAR file seperately. I am using the
Struts framework for my Web App piece. Basically, the server can't find a class
reference in a tag library used in a jsp, even though the jar file containing
the class is in my WEB-INF/lib directory. More baffling is the fact that other
classes in this jar file would had to have been loaded prior to the HttpRequest
being forwarded to this page. Could it be that the jar file and the tag library
(.tld file) need to be in the same dir of my web app?

Details and stack trace are given below. Any help is much appreciated.

I'm not sure what service pack we're on here? Have any of the 6.1 releases had
a problem here?

Thanks, Mike

Platform WebLogic 6.1 on Windows 2000 Struts 1.0.2 (happens with 1.0, also)

Deployment setup: 1.struts.jar is in WEB-INF/lib 2.all the .tld files are in WEB-INF
(do these need to be in same dir as struts.jar) 3.struts.jar in not in any of
my EJB jars nor system classpath

Problem Description: I am able to invoke my GetLogonAction (If you know Struts,
you know what I'm talking about), which results in the request being forwared
to logon.jsp. So, obviously struts.jar is in the classpath in order for this to
happen. However, when the system tries to load logon.jsp, there is a problem at
the first strutshtml tag and the following stack trace results:

####<Feb 20, 2002 10:44:16 AM EST> <Info> <HTTP> <mdunbar> <myserver> <ExecuteThread:
'14' for queue: 'default'> <> <> <101047> <[WebAppServletContext(6725640,ipp,/ipp)]
resolved taglib uri '/WEB-INF/struts-bean.tld' to taglib-location /WEB-INF/struts-bean.tld:>


####<Feb 20, 2002 10:44:17 AM EST> <Info> <HTTP> <mdunbar> <myserver> <ExecuteThread:
'14' for queue: 'default'> <> <> <101047> <[WebAppServletContext(6725640,ipp,/ipp)]
resolved taglib uri '/WEB-INF/struts-html.tld' to taglib-location /WEB-INF/struts-html.tld:>


####<Feb 20, 2002 10:44:18 AM EST> <Info> <HTTP> <mdunbar> <myserver> <ExecuteThread:
'14' for queue: 'default'> <> <> <101047> <[WebAppServletContext(6725640,ipp,/ipp)]
Generated java file: C:\bea\wlserver6.1\config\mydomain\applications\.wlnotdelete\wlap9204\WEB-INF\_tmp_war_myserver_myserver_ipp\jsp_servlet\_logon.java>


####<Feb 20, 2002 10:44:22 AM EST> <Error> <HTTP> <mdunbar> <myserver> <ExecuteThread:
'14' for queue: 'default'> <> <> <101020> <[WebAppServletContext(6725640,ipp,/ipp)]
Servlet failed with Exception> java.lang.NoClassDefFoundError: org/apache/struts/action/ActionForm
at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:486)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:111) at
weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:338)
at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:155)
at java.lang.ClassLoader.loadClass(ClassLoader.java:297) at java.lang.ClassLoader.loadClass(ClassLoader.java:290)
at java.lang.ClassLoader.loadClass(ClassLoader.java:253) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:313)
at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:120)
at org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:563) at jsp_servlet._logon._jspService(_logon.java:112)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:263)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:302)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:200)
at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:190)
at org.apache.struts.action.ActionServlet.processActionForward(ActionServlet.java:1758)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1595) at
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:491) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:263)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:200)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2390)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:1959)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)


Stefan

unread,
Feb 21, 2002, 2:07:16 PM2/21/02
to

I had a similar experience and I didn't investigate if my packaging "startegy"
had some flaws. Short story deploying war file with struts in WL SP2 works fine,
but when I deploy same war in ear, Struts classes are not found. The solution
I came up with was to package Struts.jar inside the root of ear and use Classpath
of Manifest.mf inside war to point to Struts.jar part of ear now ...

Stefan

0 new messages