[JBoss-dev] Can't load jsp page in jboss-head due to tomcat6 problem

Scott M Stark scott.stark at jboss.com
Tue Jul 25 18:57:06 EDT 2006


Something is screwed up with the current tomcat6 snapshot as I can't
even load a jsp page from the jxm-console.war due to missing classes:

java.lang.NoClassDefFoundError:
org/apache/commons/el/ExpressionEvaluatorImpl
	org.apache.jasper.compiler.JspUtil.<clinit>(JspUtil.java:61)
	
org.apache.jasper.JspCompilationContext.getServletClassName(JspCompilati
onContext.java:334)
	
org.apache.jasper.JspCompilationContext.getClassFileName(JspCompilationC
ontext.java:484)
	
org.apache.jasper.compiler.Compiler.isOutDated(Compiler.java:379)
	
org.apache.jasper.compiler.Compiler.isOutDated(Compiler.java:332)
	
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.ja
va:560)
	
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.ja
va:303)
	
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
	
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilte
r.java:96)

The ExpressionEvaluatorImpl should be
org.apache.jasper.el.ExpressionEvaluatorImpl coming from the jasper.jar
rather than this commons thing.

[starksm at banshee9100 jbossweb-tomcat6.sar]$ for j in *.jar; do echo $j;
jar -tf
 $j | grep ExpressionEvaluatorImpl; done
catalina-ant.jar
catalina-manager.jar
catalina-optional.jar
catalina.jar
commons-modeler.jar
el-api.jar
jasper-compiler-jdt.jar
jasper-compiler.jar
jasper-el.jar
jasper-jdt.jar
jasper-runtime.jar
jasper.jar
org/apache/jasper/el/ExpressionEvaluatorImpl.class
jboss-web-metamodel.jar
jsp-api.jar
jstl.jar
naming-resources.jar
servlet-api.jar
servlets-default.jar
servlets-invoker.jar
servlets-webdav.jar
tomcat-ajp.jar
tomcat-apr.jar
tomcat-coyote.jar
tomcat-dbcp.jar
tomcat-http.jar
tomcat-i18n-es.jar
tomcat-i18n-fr.jar
tomcat-i18n-ja.jar
tomcat-util.jar
tomcat6-service.jar

The problem is that there are two org.apache.jasper.compiler.JspUtil
classes, and the one from jasper-compiler.jar which is loaded is
referencing the 

[starksm at banshee9100 jbossweb-tomcat6.sar]$ javap -c -classpath
jasper-compiler.jar org.apache.jasper.compiler.JspUtil >JspUtil.javap
Compiled from "JspUtil.java"
public class org.apache.jasper.compiler.JspUtil extends
java.lang.Object{
public static final int CHUNKSIZE;
...
public static void validateExpressions(org.apache.jasper.compiler.Mark,
java.lan
g.String, java.lang.Class, javax.servlet.jsp.el.FunctionMapper,
org.apache.jaspe
r.compiler.ErrorDispatcher)   throws org.apache.jasper.JasperException;
  Code:
   0: getstatic   #143; //Field
expressionEvaluator:Lorg/apache/commons/el/ExpressionEvaluatorImpl;

How is this inconsistency getting into the tomcat codebase?

xxxxxxxxxxxxxxxxxxxxxxxxxxxx
Scott Stark
VP Architecture & Technology
JBoss, a division of Red Hat
xxxxxxxxxxxxxxxxxxxxxxxxxxxx 
 




More information about the jboss-development mailing list