RE: The 4.0b5 doesn't recognize a servlet class
On Wed, 18 Jul 2001, Vernon Wu wrote: > > Hi, > > > > 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: > What classes do you think you need to access from "j2ee.jar" that are not already available to web applications? If this is the j2ee.jar file from J2EE 1.3, it already includes a complete copy of Tomcat 4, so duplicating the classes will cause nothing but grief. Craig McClanahan
RE: The 4.0b5 doesn't recognize a servlet class
Hi, Aditya, I think you mean the two jar files: jasper-runtime.jar and namingfactory.jar in the tomcat4.0/lib. I use the JBuilder as the IDE where I can check any syntax errors or not. I have j2ee.jar inside of the JBuilder library setting. When I want to deploy it, I compile it again using ant, where the j2ee.jar is from the jdk1.3 directory. After I change the j2ee.jar point to the common/lib (a copy of the jar is in the directory), and include the two jars from tomcat/lib, and recompile it, the result is the same: recycle the tomcat and have the following error messages: Catalina.start: LifecycleException: start: : java.lang.NoSuchMethodErrorLifecycleException: start: : java.lang.NoSuchMethodError Do I get the message right? Thanks. Original Message Follows From: Aditya Anand <[EMAIL PROTECTED]> Reply-To: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Subject: RE: The 4.0b5 doesn't recognize a servlet class Date: Wed, 18 Jul 2001 12:10:16 -0700 (PDT) MIME-Version: 1.0 Received: from [64.208.42.41] by hotmail.com (3.2) with ESMTP id MHotMailBD1F2A1D00B0400438AD40D02A2911A50; Wed, 18 Jul 2001 12:10:21 -0700 Received: (qmail 4427 invoked by uid 500); 18 Jul 2001 19:10:14 - Received: (qmail 4420 invoked from network); 18 Jul 2001 19:10:14 - Received: from web4704.mail.yahoo.com (216.115.105.204) by h31.sny.collab.net with SMTP; 18 Jul 2001 19:10:14 - Received: from [199.97.64.16] by web4704.mail.yahoo.com via HTTP; Wed, 18 Jul 2001 12:10:16 PDT From tomcat-user-return-41583-vwu0 Wed, 18 Jul 2001 12:11:35 -0700 Mailing-List: contact [EMAIL PROTECTED]; run by ezmlm Precedence: bulk list-help: list-unsubscribe: list-post: Delivered-To: mailing list [EMAIL PROTECTED] Message-ID: <[EMAIL PROTECTED]> In-Reply-To: <[EMAIL PROTECTED]> X-Spam-Rating: h31.sny.collab.net 1.6.2 0/1000/N hmm... did you recompile the classes using the tomcat lib jars? --- Vernon Wu <[EMAIL PROTECTED]>wrote: Hi, 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: Catalina.start: LifecycleException: start: : java.lang.NoSuchMethodErrorLifecycleException: start: : java.lang.NoSuchMethodError at org.apache.catalina.loader.StandardLoader.start(StandardLoader.java:649) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1100) at org.apache.catalina.core.StandardContext.start(StandardContext.java:3189) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1123) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1123) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:278) at org.apache.catalina.core.StandardService.start(StandardService.java:353) at org.apache.catalina.core.StandardServer.start(StandardServer.java:458) at org.apache.catalina.startup.Catalina.start(Catalina.java:725) at org.apache.catalina.startup.Catalina.execute(Catalina.java:647) at org.apache.catalina.startup.Catalina.process(Catalina.java:177) at java.lang.reflect.Method.invoke(Native Method) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:196)- Root Cause -java.lang.NoSuchMethodError at org.apache.catalina.loader.StandardLoader.start(StandardLoader.java:627) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1100) at org.apache.catalina.core.StandardContext.start(StandardContext.java:3189) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1123) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1123) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:278) at org.apache.catalina.core.StandardService.start(StandardService.java:353) at org.apache.catalina.core.StandardServer.start(StandardServer.java:458) at org.apache.catalina.startup.Catalina.start(Catalina.java:725) at org.apache.catalina.startup.Catalina.execute(Catalina.java:647) at org.apache.catalina.startup.Catalina.process(Catalina.java:177) at java.lang.reflect.Method.invoke(Native Method) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:196) 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: Exception Report:javax.servlet.ServletException: Class org.apache.jasper.servlet.JspServlet is not a Servlet...Root Cause:java.lang.ClassCastException: org.apache.jasper.servlet.JspServlet...Please advise what steps I shall take Thanks. Original Message Follows F
RE: The 4.0b5 doesn't recognize a servlet class
hmm... did you recompile the classes using the tomcat lib jars? --- Vernon Wu <[EMAIL PROTECTED]> wrote: Hi, 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: Catalina.start: LifecycleException: start: : java.lang.NoSuchMethodErrorLifecycleException: start: : java.lang.NoSuchMethodError at org.apache.catalina.loader.StandardLoader.start(StandardLoader.java:649) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1100) at org.apache.catalina.core.StandardContext.start(StandardContext.java:3189) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1123) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1123) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:278) at org.apache.catalina.core.StandardService.start(StandardService.java:353) at org.apache.catalina.core.StandardServer.start(StandardServer.java:458) at org.apache.catalina.startup.Catalina.start(Catalina.java:725) at org.apache.catalina.startup.Catalina.execute(Catalina.java:647) at org.apache.catalina.startup.Catalina.process(Catalina.java:177) at java.lang.reflect.Method.invoke(Native Method) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:196)- Root Cause -java.lang.NoSuchMethodError at org.apache.catalina.loader.StandardLoader.start(StandardLoader.java:627) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1100) at org.apache.catalina.core.StandardContext.start(StandardContext.java:3189) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1123) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1123) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:278) at org.apache.catalina.core.StandardService.start(StandardService.java:353) at org.apache.catalina.core.StandardServer.start(StandardServer.java:458) at org.apache.catalina.startup.Catalina.start(Catalina.java:725) at org.apache.catalina.startup.Catalina.execute(Catalina.java:647) at org.apache.catalina.startup.Catalina.process(Catalina.java:177) at java.lang.reflect.Method.invoke(Native Method) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:196) 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: Exception Report:javax.servlet.ServletException: Class org.apache.jasper.servlet.JspServlet is not a Servlet...Root Cause:java.lang.ClassCastException: org.apache.jasper.servlet.JspServlet...Please advise what steps I shall take Thanks. Original Message Follows From: Wells Tiedeman <[EMAIL PROTECTED]> Reply-To: [EMAIL PROTECTED] To: "'[EMAIL PROTECTED]'" <[EMAIL PROTECTED]> Subject: RE: The 4.0b5 doesn't recognize a servlet class Date: Tue, 17 Jul 2001 16:06:10 -0400 MIME-Version: 1.0 Received: from [64.208.42.41] by hotmail.com (3.2) with ESMTP id MHotMailBD1DE6CE00214004389F40D02A290FE90; Tue, 17 Jul 2001 13:10:55 -0700 Received: (qmail 38493 invoked by uid 500); 17 Jul 2001 20:10:46 - Received: (qmail 38486 invoked from network); 17 Jul 2001 20:10:45 - 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 - Received: by yc_exchange.yc_exchange.salesvision.com with Internet Mail Service (5.5.2653.19)id <3XZSJXH3>; Tue, 17 Jul 2001 16:06:11 -0400 From tomcat-user-return-41410-vwu0 Tue, 17 Jul 2001 13:11:00 -0700 Mailing-List: contact [EMAIL PROTECTED]; run by ezmlm Precedence: bulk list-help: <mailto:[EMAIL PROTECTED]> list-unsubscribe: <mailto:[EMAIL PROTECTED]> list-post: <mailto:[EMAIL PROTECTED]> Delivered-To: mailing list [EMAIL PROTECTED] Message-ID: <[EMAIL PROTECTED]> X-Mailer: Internet Mail Service (5.5.2653.19) X-Spam-Rating: h31.sny.collab.net 1.6.2 0/1000/N Any of the jars/classes containing the packages java.*, com.sun.*, javax.*, etc. If any of these are included in your /WEB-INF/lib directory the class loaders get confused. -Wells -Original Message- From: Vernon Wu [mailto:[EMAIL PROTECTED]] Sent: Tuesday, July 17, 2001 3:49 PM To: [EMAIL PROTECTED] Subject: The 4.0b5 doesn't recognize a servlet class Hi, Wells, Thanks for your response. It took me awhile trying to figure how the CLASSPATH relates with the problem. I build up the JSP application using Tomcat 3.x with the standard procedure. Nothing inside the project is set up in the CLASSPATH. I don't know what you means by "all j2ee platform classes". Are the classes used j2ee APIs? Thx. Vernon
RE: The 4.0b5 doesn't recognize a servlet class
Hi, 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: Catalina.start: LifecycleException: start: : java.lang.NoSuchMethodErrorLifecycleException: start: : java.lang.NoSuchMethodError at org.apache.catalina.loader.StandardLoader.start(StandardLoader.java:649) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1100) at org.apache.catalina.core.StandardContext.start(StandardContext.java:3189) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1123) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1123) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:278) at org.apache.catalina.core.StandardService.start(StandardService.java:353) at org.apache.catalina.core.StandardServer.start(StandardServer.java:458) at org.apache.catalina.startup.Catalina.start(Catalina.java:725) at org.apache.catalina.startup.Catalina.execute(Catalina.java:647) at org.apache.catalina.startup.Catalina.process(Catalina.java:177) at java.lang.reflect.Method.invoke(Native Method) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:196)- Root Cause -java.lang.NoSuchMethodError at org.apache.catalina.loader.StandardLoader.start(StandardLoader.java:627) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1100) at org.apache.catalina.core.StandardContext.start(StandardContext.java:3189) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1123) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1123) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:278) at org.apache.catalina.core.StandardService.start(StandardService.java:353) at org.apache.catalina.core.StandardServer.start(StandardServer.java:458) at org.apache.catalina.startup.Catalina.start(Catalina.java:725) at org.apache.catalina.startup.Catalina.execute(Catalina.java:647) at org.apache.catalina.startup.Catalina.process(Catalina.java:177) at java.lang.reflect.Method.invoke(Native Method) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:196) 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: Exception Report:javax.servlet.ServletException: Class org.apache.jasper.servlet.JspServlet is not a Servlet...Root Cause:java.lang.ClassCastException: org.apache.jasper.servlet.JspServlet...Please advise what steps I shall take Thanks. Original Message Follows From: Wells Tiedeman <[EMAIL PROTECTED]> Reply-To: [EMAIL PROTECTED] To: "'[EMAIL PROTECTED]'" <[EMAIL PROTECTED]> Subject: RE: The 4.0b5 doesn't recognize a servlet class Date: Tue, 17 Jul 2001 16:06:10 -0400 MIME-Version: 1.0 Received: from [64.208.42.41] by hotmail.com (3.2) with ESMTP id MHotMailBD1DE6CE00214004389F40D02A290FE90; Tue, 17 Jul 2001 13:10:55 -0700 Received: (qmail 38493 invoked by uid 500); 17 Jul 2001 20:10:46 - Received: (qmail 38486 invoked from network); 17 Jul 2001 20:10:45 - 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 - Received: by yc_exchange.yc_exchange.salesvision.com with Internet Mail Service (5.5.2653.19)id <3XZSJXH3>; Tue, 17 Jul 2001 16:06:11 -0400 From tomcat-user-return-41410-vwu0 Tue, 17 Jul 2001 13:11:00 -0700 Mailing-List: contact [EMAIL PROTECTED]; run by ezmlm Precedence: bulk list-help: list-unsubscribe: list-post: Delivered-To: mailing list [EMAIL PROTECTED] Message-ID: <[EMAIL PROTECTED]> X-Mailer: Internet Mail Service (5.5.2653.19) X-Spam-Rating: h31.sny.collab.net 1.6.2 0/1000/N Any of the jars/classes containing the packages java.*, com.sun.*, javax.*, etc. If any of these are included in your /WEB-INF/lib directory the class loaders get confused. -Wells -Original Message- From: Vernon Wu [mailto:[EMAIL PROTECTED]] Sent: Tuesday, July 17, 2001 3:49 PM To: [EMAIL PROTECTED] Subject: The 4.0b5 doesn't recognize a servlet class Hi, Wells, Thanks for your response. It took me awhile trying to figure how the CLASSPATH relates with the problem. I build up the JSP application using Tomcat 3.x with the standard procedure. Nothing inside the project is set up in the CLASSPATH. I don't know what you means by "all j2ee platform classes". Are the classes used j2ee APIs? Thx. Vernon Original Message Follows From: Wells Tiedeman Reply-To: [EMAIL PROTECTED] To: "'[EMAIL PROTECTED]'" Subject: RE: ServletException in 4.0b5 Date: Tue, 17 Jul 2001
RE: The 4.0b5 doesn't recognize a servlet class
Any of the jars/classes containing the packages java.*, com.sun.*, javax.*, etc. If any of these are included in your /WEB-INF/lib directory the class loaders get confused. -Wells -Original Message-From: Vernon Wu [mailto:[EMAIL PROTECTED]]Sent: Tuesday, July 17, 2001 3:49 PMTo: [EMAIL PROTECTED]Subject: The 4.0b5 doesn't recognize a servlet class Hi, Wells, Thanks for your response. It took me awhile trying to figure how the CLASSPATH relates with the problem. I build up the JSP application using Tomcat 3.x with the standard procedure. Nothing inside the project is set up in the CLASSPATH. I don't know what you means by "all j2ee platform classes". Are the classes used j2ee APIs? Thx. Vernon Original Message Follows From: Wells Tiedeman <[EMAIL PROTECTED]> Reply-To: [EMAIL PROTECTED] To: "'[EMAIL PROTECTED]'" <[EMAIL PROTECTED]> Subject: RE: ServletException in 4.0b5 Date: Tue, 17 Jul 2001 08:46:44 -0400 MIME-Version: 1.0 Received: from [64.208.42.41] by hotmail.com (3.2) with ESMTP id MHotMailBD1D7FCF00164004376140D02A290F500; Tue, 17 Jul 2001 05:51:28 -0700 Received: (qmail 73852 invoked by uid 500); 17 Jul 2001 12:51:21 - Received: (qmail 73845 invoked from network); 17 Jul 2001 12:51:21 - 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 12:51:21 - Received: by yc_exchange.yc_exchange.salesvision.com with Internet Mail Service (5.5.2653.19)id <3XZSJV86>; Tue, 17 Jul 2001 08:46:45 -0400 From tomcat-user-return-41367-vwu0 Tue, 17 Jul 2001 05:52:26 -0700 Mailing-List: contact [EMAIL PROTECTED]; run by ezmlm Precedence: bulk list-help: list-unsubscribe: list-post: Delivered-To: mailing list [EMAIL PROTECTED] Message-ID: <[EMAIL PROTECTED]> X-Mailer: Internet Mail Service (5.5.2653.19) X-Spam-Rating: h31.sny.collab.net 1.6.2 0/1000/N I experienced the same problem. It's due to a class loader issue. Multiple class loaders have been introduced in V4.0 to implement the requirements found in Section 9.6.2 of the Servlet 2.3 Spec. These class loaders are used to load all of the jars and classes rather than using the CLASSPATH. I was able to resolve this problem as follows : - Add all supporting jars for your web application (except J2EE jars) to the /WEB-INF/lib directory rather than including them in the CLASSPATH - Add all of the required classes for your web application to the /WEB-INF/classes directory rather than including them in the CLASSPATH - Add the j2ee.jar from the /j2sdkee1.3/lib directory to the TOMCAT_HOME/common/lib directory. All J2EE platform classes must be placed in the common/lib or common/classes directories rather than with the web application. -Wells Wells Tiedeman YOUcentric, Inc. P: 704.401.1109 F: 704.401.1240 [EMAIL PROTECTED] For more information on YOUcentric, please visit our web site at www.youcentric.com -Original Message- From: Vernon Wu [mailto:[EMAIL PROTECTED]] Sent: Monday, July 16, 2001 7:53 PM To: [EMAIL PROTECTED] Subject: ServletException in 4.0b5 I move one our small JSP application from 3.x to 4.0b5 for the reason of using servlet 2.3 specification: ServletContextListener, HttpSessionListener be more specific. I get the exception under the 4.0b5 with the following messages: Exception Report: javax.servlet.ServletException: Class abc.control.ControllerServlet is not a Servlet Root Cause: java.lang.ClassCastException: abc.control.ControllerServlet ... There is not any indication that anywhere my code is not approprt. What I shall do at this situation? I believe that I encounter the similar situation in the 3.x, and it can be resolved by recycle the Tomcat server. That method doesn't work for 4.0b5. Thanks. Vernon _ Get your FREE download of MSN Explorer at http://explorer.msn.com Get your FREE download of MSN Explorer at http://explorer.msn.com