You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Aditya Anand <ad...@yahoo.com> on 2001/07/18 21:10:16 UTC

RE: The 4.0b5 doesn't recognize a servlet class

hmm... did you recompile the classes using the tomcat
lib jars?
--- Vernon Wu <vw...@hotmail.com> wrote:

<HR>
<html><DIV>
<P>Hi, </P>
<P>&nbsp;</P>
<P>As you suggested, I moved the j2ee.jar from the
web-inf\lib to common\lib. And then I restarted the
Tomcat 4.0b5. Here is what I got:</P>
<P>Catalina.start: LifecycleException:&nbsp; start:
:&nbsp;
java.lang.NoSuchMethodError<BR>LifecycleException:&nbsp;
start: :&nbsp;
java.lang.NoSuchMethodError<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
at
org.apache.catalina.loader.StandardLoader.start(StandardLoader.java:6<BR>49)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1100)</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.apache.catalina.core.StandardContext.start(StandardContext.java:3<BR>189)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1123)</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1123)</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:278<BR>)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
at
org.apache.catalina.core.StandardService.start(StandardService.java:3<BR>53)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
at
org.apache.catalina.core.StandardServer.start(StandardServer.java:458<BR>)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
at
org.apache.catalina.startup.Catalina.start(Catalina.java:725)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
at
org.apache.catalina.startup.Catalina.execute(Catalina.java:647)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
at
org.apache.catalina.startup.Catalina.process(Catalina.java:177)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
at java.lang.reflect.Method.invoke(Native
Method)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
at
org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:196)<BR>-----
Root Cause
-----<BR>java.lang.NoSuchMethodError<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
at
org.apache.catalina.loader.StandardLoader.start(StandardLoader.java:6<BR>27)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1100)</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.apache.catalina.core.StandardContext.start(StandardContext.java:3<BR>189)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1123)</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1123)</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:278<BR>)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
at
org.apache.catalina.core.StandardService.start(StandardService.java:3<BR>53)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
at
org.apache.catalina.core.StandardServer.start(StandardServer.java:458<BR>)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
at
org.apache.catalina.startup.Catalina.start(Catalina.java:725)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
at
org.apache.catalina.startup.Catalina.execute(Catalina.java:647)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
at
org.apache.catalina.startup.Catalina.process(Catalina.java:177)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
at java.lang.reflect.Method.invoke(Native
Method)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
at
org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:196)</P>
<P>&nbsp;</P>
<P>If I don't relocate the j2ee.jar file, when I try
to open up the main page which doesn't call any
servlet instance. What I get is the followings:</P>
<H3>Exception
Report:</H3><PRE>javax.servlet.ServletException: Class
org.apache.jasper.servlet.JspServlet is not a
Servlet</PRE><PRE>...</PRE><PRE><H3>Root
Cause:</H3><PRE>java.lang.ClassCastException:
org.apache.jasper.servlet.JspServlet</PRE><PRE>...<BR></PRE><PRE>Please
advise what steps I shall
take</PRE><PRE>&nbsp;</PRE><PRE>Thanks.<BR></PRE></PRE></DIV>
<DIV></DIV>
<DIV></DIV>----Original Message Follows---- 
<DIV></DIV>From: Wells Tiedeman
<JW...@YOUCENTRIC.COM>
<DIV></DIV>Reply-To: tomcat-user@jakarta.apache.org 
<DIV></DIV>To: "'tomcat-user@jakarta.apache.org'"
<TO...@JAKARTA.APACHE.ORG>
<DIV></DIV>Subject: RE: The 4.0b5 doesn't recognize a
servlet class 
<DIV></DIV>Date: Tue, 17 Jul 2001 16:06:10 -0400 
<DIV></DIV>MIME-Version: 1.0 
<DIV></DIV>Received: from [64.208.42.41] by
hotmail.com (3.2) with ESMTP id
MHotMailBD1DE6CE00214004389F40D02A290FE90; Tue, 17 Jul
2001 13:10:55 -0700 
<DIV></DIV>Received: (qmail 38493 invoked by uid 500);
17 Jul 2001 20:10:46 -0000 
<DIV></DIV>Received: (qmail 38486 invoked from
network); 17 Jul 2001 20:10:45 -0000 
<DIV></DIV>Received: from
salesvision-gw.youcentric.com (HELO
yc?exchange.yc?exchange.salesvision.com) (12.19.52.2)
by h31.sny.collab.net with SMTP; 17 Jul 2001 20:10:45
-0000 
<DIV></DIV>Received: by
yc_exchange.yc_exchange.salesvision.com with Internet
Mail Service (5.5.2653.19)id &lt;3XZSJXH3&gt;; Tue, 17
Jul 2001 16:06:11 -0400 
<DIV></DIV>From tomcat-user-return-41410-vwu0 Tue, 17
Jul 2001 13:11:00 -0700 
<DIV></DIV>Mailing-List: contact
tomcat-user-help@jakarta.apache.org; run by ezmlm 
<DIV></DIV>Precedence: bulk 
<DIV></DIV>list-help: <?xml:namespace prefix = mailto
/><ma...@jakarta.apache.org>
<DIV></DIV>list-unsubscribe:
<ma...@jakarta.apache.org>
<DIV></DIV>list-post:
<ma...@jakarta.apache.org>
<DIV></DIV>Delivered-To: mailing list
tomcat-user@jakarta.apache.org 
<DIV></DIV>Message-ID:
&lt;15082D39DCA99746A53E37B280DCB10AC04C10@yc_exchange.yc_exchange.salesvision.com&gt;

<DIV></DIV>X-Mailer: Internet Mail Service
(5.5.2653.19) 
<DIV></DIV>X-Spam-Rating: h31.sny.collab.net 1.6.2
0/1000/N 
<DIV></DIV>
<DIV></DIV>Any of the jars/classes containing the
packages java.*, com.sun.*, javax.*, 
<DIV></DIV>etc. If any of these are included in your
/WEB-INF/lib directory the class 
<DIV></DIV>loaders get confused. 
<DIV></DIV>
<DIV></DIV>-Wells 
<DIV></DIV>
<DIV></DIV>-----Original Message----- 
<DIV></DIV>From: Vernon Wu [mailto:vwu0@hotmail.com] 
<DIV></DIV>Sent: Tuesday, July 17, 2001 3:49 PM 
<DIV></DIV>To: tomcat-user@jakarta.apache.org 
<DIV></DIV>Subject: The 4.0b5 doesn't recognize a
servlet class 
<DIV></DIV>
<DIV></DIV>
<DIV></DIV>
<DIV></DIV>
<DIV></DIV>
<DIV></DIV>
<DIV></DIV>
<DIV></DIV>Hi, Wells, 
<DIV></DIV>
<DIV></DIV>
<DIV></DIV>
<DIV></DIV>Thanks for your response. 
<DIV></DIV>
<DIV></DIV>
<DIV></DIV>
<DIV></DIV>It took me awhile trying to figure how the
CLASSPATH relates with the 
<DIV></DIV>problem. I build up the JSP application
using Tomcat 3.x with the standard 
<DIV></DIV>procedure. Nothing inside the project is
set up in the CLASSPATH. I don't 
<DIV></DIV>know what you means by "all j2ee platform
classes". Are the classes used 
<DIV></DIV>j2ee APIs? 
<DIV></DIV>
<DIV></DIV>
<DIV></DIV>
<DIV></DIV>Thx. 
<DIV></DIV>
<DIV></DIV>
<DIV></DIV>
<DIV></DIV>Vernon 
<DIV></DIV>
<DIV></DIV>
<DIV></DIV>
<DIV></DIV>----Original Message Follows---- 
<DIV></DIV>From: Wells Tiedeman 
<DIV></DIV>Reply-To: tomcat-user@jakarta.apache.org 
<DIV></DIV>To: "'tomcat-user@jakarta.apache.org'" 
<DIV></DIV>Subject: RE: ServletException in 4.0b5 
<DIV></DIV>Date: Tue, 17 Jul 2001 08:46:44 -0400 
<DIV></DIV>MIME-Version: 1.0 
<DIV></DIV>Received: from [64.208.42.41] by
hotmail.com (3.2) with ESMTP id 
<DIV></DIV>MHotMailBD1D7FCF00164004376140D02A290F500;
Tue, 17 Jul 2001 05:51:28 -0700 
<DIV></DIV>Received: (qmail 73852 invoked by uid 500);
17 Jul 2001 12:51:21 -0000 
<DIV></DIV>Received: (qmail 73845 invoked from
network); 17 Jul 2001 12:51:21 -0000 
<DIV></DIV>Received: from
salesvision-gw.youcentric.com (HELO 
<DIV></DIV>yc?exchange.yc?exchange.salesvision.com)
(12.19.52.2) by h31.sny.collab.net 
<DIV></DIV>with SMTP; 17 Jul 2001 12:51:21 -0000 
<DIV></DIV>Received: by
yc_exchange.yc_exchange.salesvision.com with Internet
Mail 
<DIV></DIV>Service (5.5.2653.19)id &lt;3XZSJV86&gt;;
Tue, 17 Jul 2001 08:46:45 -0400 
<DIV></DIV>From tomcat-user-return-41367-vwu0 Tue, 17
Jul 2001 05:52:26 -0700 
<DIV></DIV>Mailing-List: contact
tomcat-user-help@jakarta.apache.org; run by ezmlm 
<DIV></DIV>Precedence: bulk 
<DIV></DIV>list-help: 
<DIV></DIV>list-unsubscribe: 
<DIV></DIV>list-post: 
<DIV></DIV>Delivered-To: mailing list
tomcat-user@jakarta.apache.org 
<DIV></DIV>Message-ID: 
<DIV></DIV>&lt;15082D39DCA99746A53E37B280DCB10AC04C06@yc_exchange.yc_exchange.salesvision.

<DIV></DIV>com&gt; 
<DIV></DIV>X-Mailer: Internet Mail Service
(5.5.2653.19) 
<DIV></DIV>X-Spam-Rating: h31.sny.collab.net 1.6.2
0/1000/N 
<DIV></DIV>I experienced the same problem. It's due to
a class loader issue. Multiple 
<DIV></DIV>class loaders have been introduced in V4.0
to implement the requirements 
<DIV></DIV>found in Section 9.6.2 of the Servlet 2.3
Spec. These class loaders are 
<DIV></DIV>used to load all of the jars and classes
rather than using the CLASSPATH. 
<DIV></DIV>I was able to resolve this problem as
follows : 
<DIV></DIV>- Add all supporting jars for your web
application (except J2EE jars) to 
<DIV></DIV>the /WEB-INF/lib directory rather than
including them in the CLASSPATH 
<DIV></DIV>- Add all of the required classes for your
web application to the 
<DIV></DIV>/WEB-INF/classes directory rather than
including them in the CLASSPATH 
<DIV></DIV>- Add the j2ee.jar from the /j2sdkee1.3/lib
directory to the 
<DIV></DIV>TOMCAT_HOME/common/lib directory. All J2EE
platform classes must be placed 
<DIV></DIV>in the common/lib or common/classes
directories rather than with the web 
<DIV></DIV>application. 
<DIV></DIV>-Wells 
<DIV></DIV>Wells Tiedeman 
<DIV></DIV>YOUcentric, Inc. 
<DIV></DIV>P: 704.401.1109 
<DIV></DIV>F: 704.401.1240 
<DIV></DIV>jwtiedeman@youcentric.com 
<DIV></DIV>For more information on YOUcentric, please
visit our web site at 
<DIV></DIV>www.youcentric.com 
<DIV></DIV>-----Original Message----- 
<DIV></DIV>From: Vernon Wu [mailto:vwu0@hotmail.com] 
<DIV></DIV>Sent: Monday, July 16, 2001 7:53 PM 
<DIV></DIV>To: tomcat-user@jakarta.apache.org 
<DIV></DIV>Subject: ServletException in 4.0b5 
<DIV></DIV>I move one our small JSP application from
3.x to 4.0b5 for the reason of 
<DIV></DIV>using servlet 2.3 specification:
ServletContextListener, HttpSessionListener 
<DIV></DIV>
<DIV></DIV>be more specific. 
<DIV></DIV>I get the exception under the 4.0b5 with
the following messages: 
<DIV></DIV>Exception Report: 
<DIV></DIV>javax.servlet.ServletException: Class
abc.control.ControllerServlet is not a 
<DIV></DIV>
<DIV></DIV>Servlet 
<DIV></DIV>.... 
<DIV></DIV>Root Cause: 
<DIV></DIV>java.lang.ClassCastException:
abc.control.ControllerServlet 
<DIV></DIV>... 
<DIV></DIV>There is not any indication that anywhere
my code is not approprt. What I 
<DIV></DIV>shall do at this situation? 
<DIV></DIV>I believe that I encounter the similar
situation in the 3.x, and it can be 
<DIV></DIV>resolved by recycle the Tomcat server. That
method doesn't work for 4.0b5. 
<DIV></DIV>Thanks. 
<DIV></DIV>Vernon 
<DIV></DIV>_____ 
<DIV></DIV>Get your FREE download of MSN Explorer at
http://explorer.msn.com 
<DIV></DIV>
<DIV></DIV>_____ 
<DIV></DIV>
<DIV></DIV>Get your FREE download of MSN Explorer at
http://explorer.msn.com 
<DIV></DIV>
<DIV></DIV>
<DIV></DIV>
<DIV></DIV>
<DIV></DIV>
<DI...@jakarta.apache.org><br
clear=all><hr>Get your FREE download of MSN Explorer
at <a
href="http://explorer.msn.com">http://explorer.msn.com</a><br></p></html>


__________________________________________________
Do You Yahoo!?
Get personalized email addresses from Yahoo! Mail
http://personal.mail.yahoo.com/