Jasper 2's implementation is such that it expects the jar files containing the tld files in WEB-INF/lib of a web application. If the jar file containing the tld is not present WEB-INF/lib directory, it throws NullPointerException (and hence JasperException). Below given is the stacktrace C:\DRIVE_E\advent1\jakarta\tomcat4.x\jakarta-tomcat-4.1.27-LE-jdk14>java org. apache.jasper.JspC -v9 -d . webapps\wcfphase1\sa ravanan\test.jsp 2003-12-18 09:14:27 - uriRoot implicitly set to "C: \DRIVE_E\advent1\jakarta\tomcat4.x\jakarta-tomcat-4.1.27-LE-jdk14\webapps\ wcfphase1" 2003-12-18 09:14:28 - ERROR-the file '\saravanan\test.jsp' generated the following general exception: java.lang.NullPointerEx ception error:org.apache.jasper.JasperException: Error compiling \saravanan\test.jsp at org.apache.jasper.JspC.processFile(JspC.java:596) at org.apache.jasper.JspC.execute(JspC.java:801) at org.apache.jasper.JspC.main(JspC.java:823) It should give a proper message stating the tld file referred in not found.
I have tested this with the latest TC4 source and I see the following at the start of the stack trace. In my view, this is sufficient. org.apache.jasper.JasperException: This absolute uri (http://www.apache.org/markt/taglib) cannot be resolved in either web.xml or the jar files deployed with this application