|
I had
this problem also. It appears that Jasper (the JSP page compiler) requires
that all classes used in page compilation be located in web-inf/classes or in a
jar in web-inf/lib. This is retarded, but it works. My EJBs don't
use struts so I only include in the lib directory, but I have other libraries
that are used in both the EJBs and war. I put these jars in both my ear
and my war web-inf/lib directory. Additionally, I have added a classpath
entry in the manifest file of the war. This way the library is loaded by
the application common class loader and not the war class loader. So the
library just sits a dead weight in the war. I have considered looking into
the Jasper source it figure out how it determines the compiler
classpath/classloader, but haven't gotten to it yet. Another possibility
is to precompile the jsp pages during your build.
-dain
Thanks for the advice of rearranging tags in the
web.xml file. Couldn't find config details for
an app so I'm posting again.
This worked on another server but not working on
JBoss. I have struts.jar on the same level as my J2EE app's META-INF dir and
have the Classpath in the MANIFEST.MF file so JBoss should be able to find it.
I have put struts.jar above the web-app because both my ejb's and web-app
depend on struts, so that's why it's not in the ~/WEB-INF/lib
dir.
Any ideas/help much appreciated as to why it's
not finding these classes.
[Service Control] Started 25
services [Default] JBoss 2.2.1 Started in 1m:0s 2001-04-23 07:40:21 -
Ctx( ): JasperException: R( + /index.jsp + null) Unable to compile
class for
JSP/u/public/JBoss-2.2.1_Tomcat-3.2.1/tomcat/work/localhost_8080/_0002findex_0002ejspindex_jsp_0.java:66:
Class org.apache.struts.taglib.html.HtmlTag not
found.
org.apache.struts.taglib.html.HtmlTag _jspx_th_html_html_0 = new
org.apache.struts.taglib.html.HtmlTag();
^ /u/public/JBoss-2.2.1_Tomcat-3.2.1/tomcat/work/localhost_8080/_0002findex_0002ejspindex_jsp_0.java:66:
Class org.apache.struts.taglib.html.HtmlTag not
found.
org.apache.struts.taglib.html.HtmlTag _jspx_th_html_html_0 = new
org.apache.struts.taglib.html.HtmlTag();
|