I am having a problem when I try to package up my tag libraries. They seem
to work when the are not packaged. When I try to access a page that uses my
custom tags I get an exception that states:
org.apache.jasper.JasperException: File "/util" not found
The full exception is at the end. The jsp file uses the following tag lib
directive: <%@ taglib uri="/util" prefix="util" %>
My .tld files (I'm using Tomcat 4, Jsp 1.2) are located in the META-INF of
the jar file and I place that jar file in the WEB-INF/lib directory.
Any help would be appreciated. At the end of the email is any info I think
is important.
Thanks,
Robert
My jar file looks like this:
0 Mon May 21 14:10:54 PDT 2001 META-INF/
68 Mon May 21 14:10:54 PDT 2001 META-INF/MANIFEST.MF
0 Mon May 21 13:12:24 PDT 2001 com/
0 Mon May 21 13:12:24 PDT 2001 com/orangefood/
0 Mon May 21 13:12:24 PDT 2001 com/orangefood/taglib/
0 Mon May 21 13:12:24 PDT 2001 com/orangefood/taglib/db/
252 Mon May 21 13:12:24 PDT 2001
com/orangefood/taglib/db/ResultSetDuring.class
246 Mon May 21 13:12:24 PDT 2001
com/orangefood/taglib/db/ResultSetEnd.class
250 Mon May 21 13:12:24 PDT 2001
com/orangefood/taglib/db/ResultSetStart.class
1707 Mon May 21 13:12:24 PDT 2001
com/orangefood/taglib/db/ResultSetState.class
4530 Mon May 21 13:12:24 PDT 2001 com/orangefood/taglib/db/SQL.class
0 Mon May 21 13:12:24 PDT 2001 com/orangefood/taglib/util/
1602 Mon May 21 13:12:24 PDT 2001
com/orangefood/taglib/util/BeanBodyTagSupport.class
1549 Mon May 21 13:12:24 PDT 2001
com/orangefood/taglib/util/BeanTagSupport.class
1774 Mon May 21 13:12:24 PDT 2001 com/orangefood/taglib/util/Case.class
2231 Mon May 21 13:12:24 PDT 2001 com/orangefood/taglib/util/ForEach.class
0 Mon May 21 13:12:24 PDT 2001 com/orangefood/taglib/util/form/
450 Mon May 21 13:12:24 PDT 2001
com/orangefood/taglib/util/form/FormException.class
295 Mon May 21 13:12:24 PDT 2001
com/orangefood/taglib/util/form/FormHandler.class
4828 Mon May 21 13:12:24 PDT 2001
com/orangefood/taglib/util/form/FormHandlerTag.class
1044 Mon May 21 13:12:24 PDT 2001 com/orangefood/taglib/util/Get.class
4510 Mon May 21 13:12:24 PDT 2001 com/orangefood/taglib/util/If.class
1589 Mon May 21 13:12:24 PDT 2001
com/orangefood/taglib/util/LastUpdated.class
1124 Mon May 21 13:12:24 PDT 2001 com/orangefood/taglib/util/Now.class
603 Mon May 21 13:12:24 PDT 2001 com/orangefood/taglib/util/Request.class
1503 Mon May 21 13:12:24 PDT 2001 com/orangefood/taglib/util/Switch.class
702 Mon May 21 13:12:24 PDT 2001 com/orangefood/taglib/util/Time.class
4315 Mon May 21 13:12:24 PDT 2001 com/orangefood/taglib/util/URLTag.class
1480 Mon May 21 14:08:46 PDT 2001 META-INF/db.tld
5212 Mon May 21 14:08:22 PDT 2001 META-INF/util.tld
Part of my tld looks like this:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE taglib PUBLIC
"-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
"http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<!-- a tag library descriptor -->
<taglib>
<!-- after this the default space is
"http://java.sun.com/j2ee/dtds/jsptaglibrary_1_2.dtd"
-->
<tlib-version>1.0</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>util</short-name>
<uri>/util</uri>
<description>
A utility tag library for orangefood.com
</description>
<tag>
.
.
.
Exception:
org.apache.jasper.JasperException: File "/util" not found
at
org.apache.jasper.compiler.TagLibraryInfoImpl.(TagLibraryInfoImpl.java:213)
at
org.apache.jasper.compiler.TagLibraryInfoImpl.(TagLibraryInfoImpl.java:173)
at
org.apache.jasper.compiler.JspParseEventListener.processTaglibDirective(JspP
arseEventListener.java:1143)
at
org.apache.jasper.compiler.JspParseEventListener.handleDirective(JspParseEve
ntListener.java:754)
at
org.apache.jasper.compiler.DelegatingListener.handleDirective(DelegatingList
ener.java:121)
at org.apache.jasper.compiler.Parser$Directive.accept(Parser.java:243)
at org.apache.jasper.compiler.Parser.parse(Parser.java:1126)
at org.apache.jasper.compiler.Parser.parse(Parser.java:1091)
at org.apache.jasper.compiler.Parser.parse(Parser.java:1087)
at
org.apache.jasper.compiler.ParserController.parse(ParserController.java:220)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:207)
at org.apache.jasper.servlet.JspServlet.loadJSP(JspServlet.java:523)
at
org.apache.jasper.servlet.JspServlet$JspServletWrapper.loadIfNecessary(JspSe
rvlet.java:175)
at
org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.ja
va:187)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:379)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:453)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:254)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:194)
at
com.orangefood.java.servlet.AttributeSetter.doFilter(AttributeSetter.java:77
)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:214)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:194)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:255)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
66)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:225)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
66)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2252)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164
)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
66)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:446)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
64)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:163)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
66)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:
875)
at
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:952)
at java.lang.Thread.run(Thread.java:484)