Thanks for the help. The solution provided fixed the error java.lang.NoClassDefFoundError: javax/servlet/jsp/tagext/TagLibraryValidator. JAVA_HOME/jre/lib/ext contained standard.jar and jstl.jar which I moved/deleted.
The other JAR files in JAVA_HOME/jre/lib/ext are: dnsns.jar ldapsec.jar localedata.jar sunjce_provider.jar I got a weird result though from the simple webapp below. Here is the result I got: ${i} ${i} ${i} ${i} ${i} ${i} ${i} ${i} ${i} ${i} I thought, the code will have a result of: 1 2 3 4 5 6 7 8 9 10 Thanks again for all the help. On Tue, 2003-11-25 at 20:10, Hans Bergsten wrote: > Anna Lissa Saupan wrote: > > Thanks for the help. > > > > I've been toiling away with the suggestion mentioned below the last few > > days, migrating my JSTL1.0/TC 4.* to JSTL1.1/TC5.*, and I still cannot > > make it work :( So, I tried to run a really simple webapp to test if > > the JSTL Core library will run on my server. Unfortunately, even this > > simple webapp doesn't run. I still get the error: > > java.lang.NoClassDefFoundError: > > javax/servlet/jsp/tagext/TagLibraryValidator > > It looks like Tomcat is picking up an old (JSP 1.1) version of the > JSP classes. Make sure you don't have any JSP or Servlet related JAR > files in the JAVA_HOME/jre/lib/ext directory, because JAR files there > override the ones bundled with Tomcat (or any other servlet container, > for that matter). > > Hans > > > Here is the structure of the simple webapp. I'm also adding the source > > code of the JSP file and web.xml. Please correct any errors that I > > might have missed since I'm such a newbie at this thing. > > > > Thanks again for any help. > > > > Web-app directory structure: > > .: > > index.html jstl-simple.jsp WEB-INF > > > > ./WEB-INF: > > classes c.tld lib web.xml > > > > ./WEB-INF/classes: > > > > ./WEB-INF/lib: > > jstl.jar standard.jar > > > > ********jstl-simple.jsp > > <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> > > <html> > > <head> > > <title>Count to 10 Example (using JSTL)</title> > > </head> > > > > <body> > > <c:forEach var="i" begin="1" end="10" step="1"> > > <c:out value="${i}" /> > > > > <br /> > > </c:forEach> > > </body> > > </html> > > *************web.xml > > <?xml version="1.0" encoding="UTF-8"?> > > > > > > <!DOCTYPE web-app PUBLIC > > '-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN' > > 'http://java.sun.com/dtd/web-app_2_3.dtd'> > > > > > > <web-app> > > <servlet> > > <servlet-name>Home Page</servlet-name> > > <jsp-file>/index.html</jsp-file> > > </servlet> > > <servlet> > > <servlet-name>JSTL-Simple</servlet-name> > > <jsp-file>/jstl-simple.jsp</jsp-file> > > </servlet> > > <servlet-mapping> > > <servlet-name>JSTL-Simple</servlet-name> > > <url-pattern>/jstl-simple</url-pattern> > > </servlet-mapping> > > <taglib> > > <taglib-uri>http://java.sun.com/jsp/jstl/core</taglib-uri> > > <taglib-location>/WEB-INF/c.tld</taglib-location> > > </taglib> > > <resource-ref> > > <res-ref-name>jdbc/conversion</res-ref-name> > > <res-type>javax.sql.DataSource</res-type> > > <res-auth>Container</res-auth> > > </resource-ref> > > </web-app> > > > > > > On Wed, 2003-11-19 at 11:28, Kris Schneider wrote: > > > >>If you're using TC 5, you should also be using JSTL 1.1. Instead of putting the > >>JSTL JAR files in $CATALINA_HOME/common/lib, put them in your app's WEB-INF/lib > >>directory. Note that the taglib URIs have changed between JSTL 1.0 and 1.1. For > >>example: > >> > >>1.0: > >>http://java.sun.com/jstl/core > >> > >>1.1: > >>http://java.sun.com/jsp/jstl/core > >> > >>Quoting Anna Lissa Saupan <[EMAIL PROTECTED]>: > >> > >> > >>>Thanks for the help. > >>> > >>>I did what you suggested. I deployed the application-examples.war that > >>>came with the JSTL distribution, which runs properly. It was also > >>>suggested that: > >>>CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/*.jar:$JAVA_HOME/jre/lib/*.jar:$AXISCLASSPATH > >>>cannot be properly parsed by Linux/Unix. "The /*.jar statements won't > >>>parse correctly under any version of *nix that I > >>>know of ;-)." > >>>so I modified my CLASSPATH to: > >>>CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$AXISCLASSPATH > >>> > >>>When I run application-examples.war, I get this result (selected): > >>>org.apache.catalina.jsp_classpath = > >>>/opt/jakarta-tomcat-5.0.12/webapps/application-examples/WEB-INF/classes/ > >>> > >> > >>:/opt/jakarta-tomcat-5.0.12/webapps/application-examples/WEB-INF/lib/taglibs-application.jar > >> > >>:/opt/jakarta-tomcat-5.0.12/shared/classes/:/opt/jakarta-tomcat-5.0.12/common/classes/ > >> > >>>:/opt/jakarta-tomcat-5.0.12/common/endorsed/xercesImpl.jar > >>>:/opt/jakarta-tomcat-5.0.12/common/endorsed/xmlParserAPIs.jar > >>>:/opt/jakarta-tomcat-5.0.12/common/lib/jasper-compiler.jar > >>> > >> > >>:/opt/jakarta-tomcat-5.0.12/common/lib/jmx.jar:/opt/jakarta-tomcat-5.0.12/common/lib/commons-el.jar > >> > >>>:/opt/jakarta-tomcat-5.0.12/common/lib/commons-collections.jar > >>>:/opt/jakarta-tomcat-5.0.12/common/lib/naming-java.jar > >>>:/opt/jakarta-tomcat-5.0.12/common/lib/commons-pool.jar > >>> > >> > >>:/opt/jakarta-tomcat-5.0.12/common/lib/jasper-runtime.jar:/opt/jakarta-tomcat-5.0.12/common/lib/naming-factory.jar > >> > >>:/opt/jakarta-tomcat-5.0.12/common/lib/servlet-api.jar:/opt/jakarta-tomcat-5.0.12/common/lib/naming-resources.jar > >> > >>:/opt/jakarta-tomcat-5.0.12/common/lib/commons-dbcp.jar:/opt/jakarta-tomcat-5.0.12/common/lib/ant.jar > >> > >>:/opt/jakarta-tomcat-5.0.12/common/lib/naming-common.jar:/opt/jakarta-tomcat-5.0.12/common/lib/jsp-api.jar > >> > >>>:/opt/jakarta-tomcat-5.0.12/common/lib/mysql-connector-java-3.0.9-stable-bin.jar > >>> > >> > >>:/opt/jakarta-tomcat-5.0.12/common/lib/j2ee.jar:/opt/jakarta-tomcat-5.0.12/common/lib/jstl.jar > >> > >>:/opt/jakarta-tomcat-5.0.12/common/lib/standard.jar:/opt/j2sdk_nb/j2sdk1.4.2/lib/tools.jar > >> > >>:/opt/jakarta-tomcat-5.0.12/bin/bootstrap.jar:/opt/j2sdk_nb/j2sdk1.4.2/jre/lib/ext/sunjce_provider.jar > >> > >>:/opt/j2sdk_nb/j2sdk1.4.2/jre/lib/ext/dnsns.jar:/opt/j2sdk_nb/j2sdk1.4.2/jre/lib/ext/jstl.jar > >> > >>:/opt/j2sdk_nb/j2sdk1.4.2/jre/lib/ext/ldapsec.jar:/opt/j2sdk_nb/j2sdk1.4.2/jre/lib/ext/localedata.jar > >> > >>>:/opt/j2sdk_nb/j2sdk1.4.2/jre/lib/ext/standard.jar > >>> > >>>I also added jstl.jar and standard.jar to <CATALINA_HOME>/common/lib so > >>>all my web-apps can use it. > >>> > >>>JSP applications with custom taglibs can be run properly in my server, > >>>only when I try to use the JSTL distribution that it fails. > >>> > >>>Can one reason be that taglibs v1.0 is not supported by Tomcat 5.*.*? > >>>I'm trying to run JSTL application examples that came with "Tomcat Kick > >>>Start" by M. Bond, and D. Law. This book applies to Tomcat 4.* and > >>>Taglib v1.0. > >>> > >>>My next recourse is to convert the apps to its most current version. > >>> > >>>Thanks again. > >>> > >>>On Tue, 2003-11-18 at 16:05, Kris Schneider wrote: > >>> > >>>>Your classpath shouldn't matter. The TC startup script will ignore it and > >>> > >>>build > >>> > >>>>its own. Have you tried deploying the standard-examples.war application > >>> > >>>that > >>> > >>>>comes with the JSTL distribution? Have you modified either your TC or JDK > >>>>install? For example, by adding or removing JAR files, perhaps for XML > >>> > >>>parsers? > >>> > >>>>Quoting Anna Lissa Saupan <[EMAIL PROTECTED]>: > >>>> > >>>> > >>>>>Hi, > >>>>> > >>>>>Any help will be greatly appreciated. > >>>>> > >>>>>My current server has the following environment: > >>>>>Tomcat Version => Apache Tomcat/5.0.12 > >>>>>JVM Version => 1.4.2-b28 > >>>>>JVM Vendor => Sun Microsystems Inc. > >>>>>Redhat Linux 9 > >>>>> OS Name => Linux > >>>>> OS Version => 2.4.20-8 > >>>>> OS Architecture => i386 > >>>>>Tag Library => 1.1 > >>>>> > >>>>>Profile setup (selected): > >>>>> > >>> > >>>CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/*.jar:$JAVA_HOME/jre/lib/*.jar:$AXISCLASSPATH > >>> > >>AXISCLASSPATH=$AXIS_LIB/axis.jar:$AXIS_LIB/commons-discovery.jar:$AXIS_LIB/commons-logging.jar:$AXIS_LIB/jaxrpc.jar:$AXIS_LIB/saaj.jar:$AXIS_LIB/log4j-1.2.8.jar:$CATALINA_HOME/common/endorsed/xercesImpl.jar:$CATALINA_HOME/common/endorsed/xml-apis.jar:$CATALINA_HOME/common/endorsed/xmlParserAPIs.jar:$AXIS_LIB/wsdl4j.jar:$CATALINA_HOME/common/lib/activation.jar > >> > >>>>>servlet-api.jar can be found in <CATALINA_HOME>/common/lib > >>>>> > >>>>>I'm trying to run JSP applications that uses JSTL but I get this error > >>>>>all the time. I get the same error even while running the simplest > >>> > >>>JSTL > >>> > >>>>>application. > >>>>> > >>>>>Here is the Server Error that I get: > >>>>> > >>>>>HTTP Status 500 - > >>>>> > >>>>> > >>> > >>>________________________________________________________________________ > >>> > >>>>>type Exception report > >>>>> > >>>>>message > >>>>> > >>>>>description The server encountered an internal error () that prevented > >>>>>it from fulfilling this request. > >>>>> > >>>>>exception > >>>>> > >>>>> > >>>>>javax.servlet.ServletException: > >>>>>javax/servlet/jsp/tagext/TagLibraryValidator > >>>>> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:256) > >>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:856) > >>>>> > >>>>>root cause > >>>>> > >>>>> > >>>>>java.lang.NoClassDefFoundError: > >>>>>javax/servlet/jsp/tagext/TagLibraryValidator > >>>>> java.lang.ClassLoader.defineClass0(Native Method) > >>>>> java.lang.ClassLoader.defineClass(ClassLoader.java:537) > >>>>> > >>> > >>> java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123) > >>> > >>>>> java.net.URLClassLoader.defineClass(URLClassLoader.java:251) > >>>>> java.net.URLClassLoader.access$100(URLClassLoader.java:55) > >>>>> java.net.URLClassLoader$1.run(URLClassLoader.java:194) > >>>>> java.security.AccessController.doPrivileged(Native Method) > >>>>> java.net.URLClassLoader.findClass(URLClassLoader.java:187) > >>>>> java.lang.ClassLoader.loadClass(ClassLoader.java:289) > >>>>> java.lang.ClassLoader.loadClass(ClassLoader.java:235) > >>>>> java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302) > >>>>> java.lang.ClassLoader.defineClass0(Native Method) > >>>>> java.lang.ClassLoader.defineClass(ClassLoader.java:537) > >>>>> > >>> > >>> java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123) > >>> > >>>>> java.net.URLClassLoader.defineClass(URLClassLoader.java:251) > >>>>> java.net.URLClassLoader.access$100(URLClassLoader.java:55) > >>>>> java.net.URLClassLoader$1.run(URLClassLoader.java:194) > >>>>> java.security.AccessController.doPrivileged(Native Method) > >>>>> java.net.URLClassLoader.findClass(URLClassLoader.java:187) > >>>>> java.lang.ClassLoader.loadClass(ClassLoader.java:289) > >>>>> java.lang.ClassLoader.loadClass(ClassLoader.java:282) > >>>>> sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274) > >>>>> java.lang.ClassLoader.loadClass(ClassLoader.java:235) > >>>>> > >>>> > >>org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1278) > >> > >>org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1212) > >> > >>org.apache.jasper.compiler.TagLibraryInfoImpl.createValidator(TagLibraryInfoImpl.java:654) > >> > >>org.apache.jasper.compiler.TagLibraryInfoImpl.parseTLD(TagLibraryInfoImpl.java:293) > >> > >>> org.apache.jasper.compiler.TagLibraryInfoImpl.(TagLibraryInfoImpl.java:204) > >>> > >>> org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:460) > >>> > >>>>> org.apache.jasper.compiler.Parser.parseDirective(Parser.java:525) > >>>>> org.apache.jasper.compiler.Parser.parseElements(Parser.java:1625) > >>>>> org.apache.jasper.compiler.Parser.parse(Parser.java:173) > >>>>> > >>> > >>> org.apache.jasper.compiler.ParserController.parse(ParserController.java:247) > >>> > >>> org.apache.jasper.compiler.ParserController.parse(ParserController.java:149) > >>> > >>> org.apache.jasper.compiler.ParserController.parse(ParserController.java:135) > >>> > >>>>> org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:243) > >>>>> org.apache.jasper.compiler.Compiler.compile(Compiler.java:451) > >>>>> org.apache.jasper.compiler.Compiler.compile(Compiler.java:437) > >>>>> > >>> > >>> org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:555) > >>> > >>> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:291) > >>> > >>> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301) > >>> > >>>>> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248) > >>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:856) > >>>>> > >>>>>note The full stack trace of the root cause is available in the Tomcat > >>>>>logs. > >>>>> > >>>>> > >>>>>************ > >>>>>************ > >>>>> > >>>>>Thanks. > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]