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

native ClassLoader Linkage error when JSP page is requested

1 view
Skip to first unread message

Kevin Duffey

unread,
Aug 14, 2000, 3:00:00 AM8/14/00
to
Hi,

It appears everything is running fine EXCEPT when I try to access a JSP
page. If I try an html page, its fine. But for some reason the JSP pages end
up causing some sort of linkage error. I am wondering if there is a DLL or
something missing? Maybe I am supposed to set the classpath, the path or
weblogic class path to a special dir where a dll or something resides? I
keep seeing the same error. ClassLoader.native0...etc. Here is the error..I
hope somebody can shed some light on this for me. Incidentally, it happens
with the Windows "helper" icons as well as the .cmd script trying to run
weblogic.

Thanks.

Mon Aug 14 19:19:16 PDT 2000:<I> <ServletContext-General> *.jsp: init
Mon Aug 14 19:19:16 PDT 2000:<I> <ServletContext-General> *.jsp: param
verbose i
nitialized to: true
Mon Aug 14 19:19:16 PDT 2000:<I> <ServletContext-General> *.jsp: param
packagePr
efix initialized to: jsp_servlet
Mon Aug 14 19:19:16 PDT 2000:<I> <ServletContext-General> *.jsp: param
compileCo
mmand initialized to: javac
Mon Aug 14 19:19:16 PDT 2000:<I> <ServletContext-General> *.jsp: param
srcCompil
er initialized to weblogic.jspc
Mon Aug 14 19:19:16 PDT 2000:<I> <ServletContext-General> *.jsp: param
superclas
s initialized to null
Mon Aug 14 19:19:16 PDT 2000:<I> <ServletContext-General> *.jsp: param
workingDi
r initialized to: C:\applications\bm\www\_tmp_war
Mon Aug 14 19:19:16 PDT 2000:<I> <ServletContext-General> *.jsp: param
pageCheck
Seconds initialized to: 1
Mon Aug 14 19:19:16 PDT 2000:<I> <ServletContext-General> *.jsp:
initialization
complete
Mon Aug 14 19:19:16 PDT 2000:<I> <ServletContext-General> *.jsp:
######
########
############
##############
pageCheckSeconds over-ruled in JSPServlet to : 1
##############
############
########
######

Mon Aug 14 19:19:16 PDT 2000:<E> <ServletContext-General> error checking JSP
'js
p_servlet._index' for freshness, forcing re-compile
java.lang.LinkageError: Class javax/servlet/ServletConfig violates loader
constr
aints
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:486)
at java.lang.ClassLoader.defineClass(ClassLoader.java:426)
at
weblogic.utils.classloaders.GenericClassLoader.findLocalClass(Generic
ClassLoader.java:415)
at
weblogic.utils.classloaders.GenericClassLoader.reallyLoadClass(Generi
cClassLoader.java:316)
at
weblogic.utils.classloaders.RecursiveReloadOnModifyClassLoader$Slave.
loadClass(RecursiveReloadOnModifyClassLoader.java:234)
at
weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClass
Loader.java:146)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:313)
at jsp_servlet._index._isStale(_index.java:45)
at weblogic.servlet.jsp.JspStub.prepareServlet(JspStub.java:158)
at
weblogic.servlet.internal.ServletStubImpl.getServlet(ServletStubImpl.
java:164)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:99)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:123)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
textImpl.java:742)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
textImpl.java:686)
at
weblogic.servlet.internal.ServletContextManager.invokeServlet(Servlet
ContextManager.java:247)
at
weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.jav
a:361)
at
weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:261)

at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)

Mon Aug 14 19:19:16 PDT 2000:<I> <ServletContext-General> Generated java
file: C
:\applications\bm\www\_tmp_war\jsp_servlet\_index.java
Mon Aug 14 19:19:19 PDT 2000:<E> <ServletContext-General> Servlet failed
with Ex
ception
java.lang.LinkageError: Class javax/servlet/ServletConfig violates loader
constr
aints
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:486)
at java.lang.ClassLoader.defineClass(ClassLoader.java:426)
at
weblogic.utils.classloaders.GenericClassLoader.findLocalClass(Generic
ClassLoader.java:415)
at
weblogic.utils.classloaders.GenericClassLoader.reallyLoadClass(Generi
cClassLoader.java:316)
at
weblogic.utils.classloaders.RecursiveReloadOnModifyClassLoader$Slave.
loadClass(RecursiveReloadOnModifyClassLoader.java:234)
at
weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClass
Loader.java:146)
at
weblogic.utils.classloaders.RecursiveReloadOnModifyClassLoader.findLo
calClass(RecursiveReloadOnModifyClassLoader.java:109)
at
weblogic.utils.classloaders.GenericClassLoader.reallyLoadClass(Generi
cClassLoader.java:316)
at
weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClass
Loader.java:172)
at
weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClass
Loader.java:146)
at weblogic.servlet.jsp.OneOffJspLoader.loadClass(JspStub.java:429)
at java.lang.ClassLoader.loadClass(ClassLoader.java:253)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:313)
at jsp_servlet._index._jspService(_index.java:59)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:105)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:123)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
textImpl.java:742)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
textImpl.java:686)
at
weblogic.servlet.internal.ServletContextManager.invokeServlet(Servlet
ContextManager.java:247)
at
weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.jav
a:361)
at
weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:261)

at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)

Mon Aug 14 19:19:19 PDT 2000:<I> <ServletContext-General> *.html: init
Mon Aug 14 19:19:19 PDT 2000:<E> <ServletContext-General> Cannot find
resource '
servletimages/trans.gif' in document root 'C:\applications\bm\www'
Mon Aug 14 19:19:19 PDT 2000:<E> <ServletContext-General> Cannot find
resource '
servletimages/logo2circle.gif' in document root 'C:\applications\bm\www'

Michael Girdley

unread,
Aug 16, 2000, 3:00:00 AM8/16/00
to

This appears to be a class path issue. Could you post your class path?

Thanks,
Michael

--
----
Michael Girdley
BEA Systems Inc


"Kevin Duffey" <kdu...@buymedia.com> wrote in message
news:3998b140$1...@newsgroups.bea.com...

Kevin Duffey

unread,
Aug 16, 2000, 3:00:00 AM8/16/00
to
Thanks for the reply. I think your partly right. As it turned out, I had in
my Servlet 2.2 web-app a WEB-INF\lib dir. In that dir I had an older
jsdk.jar, activation.jar, mail.jar, xml.jar and some other jars we use. When
I removed the jars that weblogic implements, it worked fine. I think the
jsdk.jar (servlet 2.1) was giving it problems.

On that note, I am trying to get the jakarta STRUTS project to work. I put
the struts.jar in the WEB-INF\lib dir. My problem is, I map the extension
*.do to a servlet in the WEB-INF\web.xml file. This works in a few other app
servers I have tried it in..but for some reason when I run my site and
request a *.do it is not going to the servlet its mapped to. Here is my
web.xml file:

<?xml version="1.0"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application
2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>
<servlet>
<servlet-name>action</servlet-name>
<display-name>action</display-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>2</param-value>
</init-param>
<init-param>
<param-name>forward</param-name>
<param-value>org.apache.struts.action.ActionForward</param-value>
</init-param>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/action.xml</param-value>
</init-param>
<init-param>
<param-name>application</param-name>
<param-value>org.apache.struts.action.ActionResources</param-value>
</init-param>
<init-param>
<param-name>mapping</param-name>
<param-value>org.apache.struts.action.ActionMappingBase</param-value>
</init-param>
<init-param>
<param-name>nocache</param-name>
<param-value>false</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<taglib>
<taglib-uri>/WEB-INF/bm.tld</taglib-uri>
<taglib-location>/WEB-INF/bm.tld</taglib-location>
</taglib>
</web-app>

So I ask you then, why is it when I have a form like so:

<form action="/Login.do" method="post">
...
</form>

that when I submit this form it tells me it can't find resource Login.do in
my root dir? My thought here is that WebLogic doesn't properly implement the
full Servlet 2.2 servlet mapping scheme..but I could be wrong. There are
people using Struts with WebLogic..but I think they are using path mapping,
not extension mapping. According to the specs (section 9.4 I think it is..or
somewhere around there), there are 4 possibilities. One of them is the
extension mapping that does not require a file of the same name to exist in
the directory structure. Because of this, I can say xxx.do or hello.do and
both should route to the same one servlet. Am I wrong about WebLogic in
regards to the way it handles extension mapping? I hope I am.

Thanks for the help.


0 new messages