You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Aaron Loucks <lo...@cofront.net> on 2005/11/26 06:44:52 UTC
tld files inside jars are not auto discovered
I can't get TLD auto discovery to work for any custom taglibs i write
when I package them as jars. It works fine for the standard taglibs
(core, fmt, etc..). The tld file is packaged inside the jar as
'/meta-inf/breadcrumbs_1_0.tld', and breadcrumbs-1.0.jar is located in
/WEB-INF/lib. If i put a copy of the tld in the WEB-INF directory and
add a <taglib/> entry for it in web.xml, I'm able to use the tags. I
don't understand why Tomcat (5.0.28) is auto detecting the TLD files
inside the standard taglibs (standard.jar), but it won't autodetect them
in jar files i produce. Any help would be greatly appreciated.
-Aaron
test.jsp:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="bc"
uri="http://projects.cofront.net/tablibs/breadcrumbs" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Breadcrumb Test</title>
</head>
<body>
<bc:breadcrumbs separator=" » " style="color:red;">
<bc:breadcrumb href="page1.htm">page1</bc:breadcrumb>
<bc:breadcrumb href="page2.htm">page2</bc:breadcrumb>
<bc:breadcrumb href="page3.htm">page3</bc:breadcrumb>
</bc:breadcrumbs>
</body>
</html>
Produces the following error:
org.apache.jasper.JasperException: The absolute uri:
http://projects.cofront.net/tablibs/breadcrumbs cannot be
resolved in either web.xml or the jar files deployed with this application
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:50)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:411)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:118)
org.apache.jasper.compiler.TagLibraryInfoImpl.generateTLDLocation(TagLibraryInfoImpl.java:316)
org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:147)
org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:418)
org.apache.jasper.compiler.Parser.parseDirective(Parser.java:483)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1539)
org.apache.jasper.compiler.Parser.parse(Parser.java:126)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:220)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:101)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:203)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:470)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
*note* _The full stack trace of the root cause is available in the
Apache Tomcat/5.0.28 logs.
_breadcrumbs_1_0.tld:
<?xml version="1.0" encoding="UTF-8" ?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
version="2.0">
<description>Breadcrumbs library</description>
<display-name>Breadcrumbs</display-name>
<tlib-version>1.1</tlib-version>
<short-name>bc</short-name>
<uri>http://projects.cofront.net/tablibs/breadcrumbs</uri>
<tag>
<description>Creates Breadcrumbs.</description>
<name>breadcrumbs</name>
<tag-class>net.cofront.taglibs.breadcrumbs.BreadCrumbsTag</tag-class>
<body-content>JSP</body-content>
<attribute>
<description>Separator string.</description>
<name>separator</name>
<required>yes</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>CSS style to be applied to all breadcrumb
links.</description>
<name>style</name>
<required>no</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>CSS style class to be applied to all breadcrumb
links.</description>
<name>styleClass</name>
<required>no</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<description>A Breadcrumb.</description>
<name>breadcrumb</name>
<tag-class>net.cofront.taglibs.breadcrumbs.BreadCrumbTag</tag-class>
<body-content>JSP</body-content>
<attribute>
<description>URL</description>
<name>href</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
</taglib>
web.xml:
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<display-name>ROOT</display-name>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/config/struts-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
@maven.tomcat.generated@
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<jsp-config>
<!--
<taglib>
<taglib-uri>http://projects.cofront.net/taglibs/breadcrumbs</taglib-uri>
<taglib-location>/WEB-INF/breadcrumbs_1_0.tld</taglib-location>
</taglib>
-->
</jsp-config>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
Re: tld files inside jars are not auto discovered
Posted by Bill Barker <wb...@wilshire.com>.
What can I say. I just tried copying your TLD, and created two useless
classes to implement the Tags, and copied your JSP to webapps/ROOT. It all
worked fine. You can try checking that the .tld file ends in a lower-case
".tld", but I don't know what else to suggest. For what it's worth, here a
dump of my working jar:
$ jar -tf breadcrumb.jar
META-INF/
META-INF/MANIFEST.MF
META-INF/_breadcrumbs_1_0.tld
BreadCrumbsTag.java
net/
net/cofront/
net/cofront/taglibs/
net/cofront/taglibs/breadcrumbs/
net/cofront/taglibs/breadcrumbs/BreadCrumbsTag.class
net/cofront/taglibs/breadcrumbs/BreadCrumbTag.class
BreadCrumbTag.java
"Aaron Loucks" <lo...@cofront.net> wrote in message
news:4389FF57.8010704@cofront.net...
>I double checked the jar file and the META-INF is in uppercase. Still no
>luck =/
>
> Bill Barker wrote:
>
>>You need to install your tld in /META-INF/. Paths in jar files are
>>case-sensitive.
>>
>>"Aaron Loucks" <lo...@cofront.net> wrote in message
>>news:4387F654.4090200@cofront.net...
>>
>>>I can't get TLD auto discovery to work for any custom taglibs i write
>>>when I package them as jars. It works fine for the standard taglibs
>>>(core, fmt, etc..). The tld file is packaged inside the jar as
>>>'/meta-inf/breadcrumbs_1_0.tld', and breadcrumbs-1.0.jar is located in
>>>/WEB-INF/lib. If i put a copy of the tld in the WEB-INF directory and
>>>add a <taglib/> entry for it in web.xml, I'm able to use the tags. I
>>>don't understand why Tomcat (5.0.28) is auto detecting the TLD files
>>>inside the standard taglibs (standard.jar), but it won't autodetect them
>>>in jar files i produce. Any help would be greatly appreciated.
>>>
>>>-Aaron
>>>
>>>test.jsp:
>>>
>>><%@ page language="java" contentType="text/html; charset=ISO-8859-1"
>>> pageEncoding="ISO-8859-1" %>
>>>
>>><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
>>><%@ taglib prefix="bc"
>>>uri="http://projects.cofront.net/tablibs/breadcrumbs" %>
>>>
>>><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
>>><html>
>>><head>
>>><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
>>><title>Breadcrumb Test</title>
>>></head>
>>><body>
>>> <bc:breadcrumbs separator=" » " style="color:red;">
>>> <bc:breadcrumb href="page1.htm">page1</bc:breadcrumb>
>>> <bc:breadcrumb href="page2.htm">page2</bc:breadcrumb>
>>> <bc:breadcrumb href="page3.htm">page3</bc:breadcrumb>
>>> </bc:breadcrumbs>
>>>
>>></body>
>>></html>
>>>
>>>Produces the following error:
>>>
>>>org.apache.jasper.JasperException: The absolute uri:
>>>http://projects.cofront.net/tablibs/breadcrumbs cannot be
>>>resolved in either web.xml or the jar files deployed with this
>>>application
>>>
>>>org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:50)
>>>
>>>org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:411)
>>>
>>>org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:118)
>>>
>>>org.apache.jasper.compiler.TagLibraryInfoImpl.generateTLDLocation(TagLibraryInfoImpl.java:316)
>>>
>>>org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:147)
>>>
>>> org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:418)
>>> org.apache.jasper.compiler.Parser.parseDirective(Parser.java:483)
>>> org.apache.jasper.compiler.Parser.parseElements(Parser.java:1539)
>>> org.apache.jasper.compiler.Parser.parse(Parser.java:126)
>>>
>>>org.apache.jasper.compiler.ParserController.doParse(ParserController.java:220)
>>>
>>>org.apache.jasper.compiler.ParserController.parse(ParserController.java:101)
>>> org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:203)
>>> org.apache.jasper.compiler.Compiler.compile(Compiler.java:470)
>>> org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
>>> org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
>>>
>>>org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
>>>
>>>org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
>>>
>>>org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
>>> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>>>
>>>*note* _The full stack trace of the root cause is available in the
>>>Apache Tomcat/5.0.28 logs.
>>>
>>>
>>>
>>>_breadcrumbs_1_0.tld:
>>>
>>>
>>><?xml version="1.0" encoding="UTF-8" ?>
>>><taglib xmlns="http://java.sun.com/xml/ns/j2ee"
>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>> xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
>>>http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
>>> version="2.0">
>>>
>>> <description>Breadcrumbs library</description>
>>> <display-name>Breadcrumbs</display-name>
>>> <tlib-version>1.1</tlib-version>
>>> <short-name>bc</short-name>
>>> <uri>http://projects.cofront.net/tablibs/breadcrumbs</uri>
>>> <tag>
>>> <description>Creates Breadcrumbs.</description>
>>> <name>breadcrumbs</name>
>>> <tag-class>net.cofront.taglibs.breadcrumbs.BreadCrumbsTag</tag-class>
>>> <body-content>JSP</body-content>
>>> <attribute>
>>> <description>Separator string.</description>
>>> <name>separator</name>
>>> <required>yes</required>
>>> <rtexprvalue>true</rtexprvalue>
>>> </attribute>
>>> <attribute>
>>> <description>CSS style to be applied to all breadcrumb
>>>links.</description>
>>> <name>style</name>
>>> <required>no</required>
>>> <rtexprvalue>true</rtexprvalue>
>>> </attribute>
>>> <attribute>
>>> <description>CSS style class to be applied to all breadcrumb
>>>links.</description>
>>> <name>styleClass</name>
>>> <required>no</required>
>>> <rtexprvalue>true</rtexprvalue>
>>> </attribute>
>>> </tag>
>>> <tag>
>>> <description>A Breadcrumb.</description>
>>> <name>breadcrumb</name>
>>> <tag-class>net.cofront.taglibs.breadcrumbs.BreadCrumbTag</tag-class>
>>> <body-content>JSP</body-content>
>>> <attribute>
>>> <description>URL</description>
>>> <name>href</name>
>>> <required>true</required>
>>> <rtexprvalue>false</rtexprvalue>
>>> </attribute>
>>> </tag>
>>></taglib>
>>>
>>>
>>>web.xml:
>>>
>>><web-app xmlns="http://java.sun.com/xml/ns/j2ee"
>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>> xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
>>>http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
>>> version="2.4">
>>>
>>> <display-name>ROOT</display-name>
>>>
>>> <servlet>
>>> <servlet-name>action</servlet-name>
>>>
>>><servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
>>> <init-param>
>>> <param-name>config</param-name>
>>> <param-value>/WEB-INF/config/struts-config.xml</param-value>
>>> </init-param>
>>> <load-on-startup>1</load-on-startup>
>>> </servlet>
>>>
>>> @maven.tomcat.generated@
>>>
>>> <servlet-mapping>
>>> <servlet-name>action</servlet-name>
>>> <url-pattern>*.do</url-pattern>
>>> </servlet-mapping>
>>>
>>> <jsp-config>
>>> <!--
>>> <taglib>
>>>
>>><taglib-uri>http://projects.cofront.net/taglibs/breadcrumbs</taglib-uri>
>>>
>>> <taglib-location>/WEB-INF/breadcrumbs_1_0.tld</taglib-location>
>>> </taglib>
>>> -->
>>> </jsp-config>
>>>
>>> <welcome-file-list>
>>> <welcome-file>index.html</welcome-file>
>>> <welcome-file>index.htm</welcome-file>
>>> <welcome-file>index.jsp</welcome-file>
>>> </welcome-file-list>
>>>
>>></web-app>
>>>
>>>
>>>
>>
>>
>>
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>>For additional commands, e-mail: users-help@tomcat.apache.org
>>
>>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org
Re: tld files inside jars are not auto discovered
Posted by Martin Gainty <mg...@hotmail.com>.
Aaron
are you able to access http://projects.cofront.net/tablibs/breadcrumbs ?
I tried just a minute ago and couldnt access this url
M-
----- Original Message -----
From: "Aaron Loucks" <lo...@cofront.net>
To: "Tomcat Users List" <us...@tomcat.apache.org>
Sent: Sunday, November 27, 2005 1:47 PM
Subject: Re: tld files inside jars are not auto discovered
>I double checked the jar file and the META-INF is in uppercase. Still no
> luck =/
>
> Bill Barker wrote:
>
>>You need to install your tld in /META-INF/. Paths in jar files are
>>case-sensitive.
>>
>>"Aaron Loucks" <lo...@cofront.net> wrote in message
>>news:4387F654.4090200@cofront.net...
>>
>>
>>>I can't get TLD auto discovery to work for any custom taglibs i write
>>>when I package them as jars. It works fine for the standard taglibs
>>>(core, fmt, etc..). The tld file is packaged inside the jar as
>>>'/meta-inf/breadcrumbs_1_0.tld', and breadcrumbs-1.0.jar is located in
>>>/WEB-INF/lib. If i put a copy of the tld in the WEB-INF directory and
>>>add a <taglib/> entry for it in web.xml, I'm able to use the tags. I
>>>don't understand why Tomcat (5.0.28) is auto detecting the TLD files
>>>inside the standard taglibs (standard.jar), but it won't autodetect them
>>>in jar files i produce. Any help would be greatly appreciated.
>>>
>>>-Aaron
>>>
>>>test.jsp:
>>>
>>><%@ page language="java" contentType="text/html; charset=ISO-8859-1"
>>> pageEncoding="ISO-8859-1" %>
>>>
>>><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
>>><%@ taglib prefix="bc"
>>>uri="http://projects.cofront.net/tablibs/breadcrumbs" %>
>>>
>>><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
>>><html>
>>><head>
>>><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
>>><title>Breadcrumb Test</title>
>>></head>
>>><body>
>>> <bc:breadcrumbs separator=" » " style="color:red;">
>>> <bc:breadcrumb href="page1.htm">page1</bc:breadcrumb>
>>> <bc:breadcrumb href="page2.htm">page2</bc:breadcrumb>
>>> <bc:breadcrumb href="page3.htm">page3</bc:breadcrumb>
>>> </bc:breadcrumbs>
>>>
>>></body>
>>></html>
>>>
>>>Produces the following error:
>>>
>>>org.apache.jasper.JasperException: The absolute uri:
>>>http://projects.cofront.net/tablibs/breadcrumbs cannot be
>>>resolved in either web.xml or the jar files deployed with this application
>>>
>>>org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:50)
>>>
>>>org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:411)
>>>
>>>org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:118)
>>>
>>>org.apache.jasper.compiler.TagLibraryInfoImpl.generateTLDLocation(TagLibraryInfoImpl.java:316)
>>>
>>>org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:147)
>>> org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:418)
>>> org.apache.jasper.compiler.Parser.parseDirective(Parser.java:483)
>>> org.apache.jasper.compiler.Parser.parseElements(Parser.java:1539)
>>> org.apache.jasper.compiler.Parser.parse(Parser.java:126)
>>>
>>>org.apache.jasper.compiler.ParserController.doParse(ParserController.java:220)
>>>
>>>org.apache.jasper.compiler.ParserController.parse(ParserController.java:101)
>>> org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:203)
>>> org.apache.jasper.compiler.Compiler.compile(Compiler.java:470)
>>> org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
>>> org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
>>>
>>>org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
>>>
>>>org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
>>>
>>>org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
>>> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>>>
>>>*note* _The full stack trace of the root cause is available in the
>>>Apache Tomcat/5.0.28 logs.
>>>
>>>
>>>
>>>_breadcrumbs_1_0.tld:
>>>
>>>
>>><?xml version="1.0" encoding="UTF-8" ?>
>>><taglib xmlns="http://java.sun.com/xml/ns/j2ee"
>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>> xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
>>>http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
>>> version="2.0">
>>>
>>> <description>Breadcrumbs library</description>
>>> <display-name>Breadcrumbs</display-name>
>>> <tlib-version>1.1</tlib-version>
>>> <short-name>bc</short-name>
>>> <uri>http://projects.cofront.net/tablibs/breadcrumbs</uri>
>>> <tag>
>>> <description>Creates Breadcrumbs.</description>
>>> <name>breadcrumbs</name>
>>> <tag-class>net.cofront.taglibs.breadcrumbs.BreadCrumbsTag</tag-class>
>>> <body-content>JSP</body-content>
>>> <attribute>
>>> <description>Separator string.</description>
>>> <name>separator</name>
>>> <required>yes</required>
>>> <rtexprvalue>true</rtexprvalue>
>>> </attribute>
>>> <attribute>
>>> <description>CSS style to be applied to all breadcrumb
>>>links.</description>
>>> <name>style</name>
>>> <required>no</required>
>>> <rtexprvalue>true</rtexprvalue>
>>> </attribute>
>>> <attribute>
>>> <description>CSS style class to be applied to all breadcrumb
>>>links.</description>
>>> <name>styleClass</name>
>>> <required>no</required>
>>> <rtexprvalue>true</rtexprvalue>
>>> </attribute>
>>> </tag>
>>> <tag>
>>> <description>A Breadcrumb.</description>
>>> <name>breadcrumb</name>
>>> <tag-class>net.cofront.taglibs.breadcrumbs.BreadCrumbTag</tag-class>
>>> <body-content>JSP</body-content>
>>> <attribute>
>>> <description>URL</description>
>>> <name>href</name>
>>> <required>true</required>
>>> <rtexprvalue>false</rtexprvalue>
>>> </attribute>
>>> </tag>
>>></taglib>
>>>
>>>
>>>web.xml:
>>>
>>><web-app xmlns="http://java.sun.com/xml/ns/j2ee"
>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>> xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
>>>http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
>>> version="2.4">
>>>
>>> <display-name>ROOT</display-name>
>>>
>>> <servlet>
>>> <servlet-name>action</servlet-name>
>>>
>>><servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
>>> <init-param>
>>> <param-name>config</param-name>
>>> <param-value>/WEB-INF/config/struts-config.xml</param-value>
>>> </init-param>
>>> <load-on-startup>1</load-on-startup>
>>> </servlet>
>>>
>>> @maven.tomcat.generated@
>>>
>>> <servlet-mapping>
>>> <servlet-name>action</servlet-name>
>>> <url-pattern>*.do</url-pattern>
>>> </servlet-mapping>
>>>
>>> <jsp-config>
>>> <!--
>>> <taglib>
>>>
>>><taglib-uri>http://projects.cofront.net/taglibs/breadcrumbs</taglib-uri>
>>> <taglib-location>/WEB-INF/breadcrumbs_1_0.tld</taglib-location>
>>> </taglib>
>>> -->
>>> </jsp-config>
>>>
>>> <welcome-file-list>
>>> <welcome-file>index.html</welcome-file>
>>> <welcome-file>index.htm</welcome-file>
>>> <welcome-file>index.jsp</welcome-file>
>>> </welcome-file-list>
>>>
>>></web-app>
>>>
>>>
>>>
>>>
>>
>>
>>
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>>For additional commands, e-mail: users-help@tomcat.apache.org
>>
>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
>
Re: tld files inside jars are not auto discovered
Posted by Aaron Loucks <lo...@cofront.net>.
I double checked the jar file and the META-INF is in uppercase. Still no
luck =/
Bill Barker wrote:
>You need to install your tld in /META-INF/. Paths in jar files are
>case-sensitive.
>
>"Aaron Loucks" <lo...@cofront.net> wrote in message
>news:4387F654.4090200@cofront.net...
>
>
>>I can't get TLD auto discovery to work for any custom taglibs i write
>>when I package them as jars. It works fine for the standard taglibs
>>(core, fmt, etc..). The tld file is packaged inside the jar as
>>'/meta-inf/breadcrumbs_1_0.tld', and breadcrumbs-1.0.jar is located in
>>/WEB-INF/lib. If i put a copy of the tld in the WEB-INF directory and
>>add a <taglib/> entry for it in web.xml, I'm able to use the tags. I
>>don't understand why Tomcat (5.0.28) is auto detecting the TLD files
>>inside the standard taglibs (standard.jar), but it won't autodetect them
>>in jar files i produce. Any help would be greatly appreciated.
>>
>>-Aaron
>>
>>test.jsp:
>>
>><%@ page language="java" contentType="text/html; charset=ISO-8859-1"
>> pageEncoding="ISO-8859-1" %>
>>
>><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
>><%@ taglib prefix="bc"
>>uri="http://projects.cofront.net/tablibs/breadcrumbs" %>
>>
>><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
>><html>
>><head>
>><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
>><title>Breadcrumb Test</title>
>></head>
>><body>
>> <bc:breadcrumbs separator=" » " style="color:red;">
>> <bc:breadcrumb href="page1.htm">page1</bc:breadcrumb>
>> <bc:breadcrumb href="page2.htm">page2</bc:breadcrumb>
>> <bc:breadcrumb href="page3.htm">page3</bc:breadcrumb>
>> </bc:breadcrumbs>
>>
>></body>
>></html>
>>
>>Produces the following error:
>>
>>org.apache.jasper.JasperException: The absolute uri:
>>http://projects.cofront.net/tablibs/breadcrumbs cannot be
>>resolved in either web.xml or the jar files deployed with this application
>>
>>org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:50)
>>
>>org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:411)
>>
>>org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:118)
>>
>>org.apache.jasper.compiler.TagLibraryInfoImpl.generateTLDLocation(TagLibraryInfoImpl.java:316)
>>
>>org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:147)
>> org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:418)
>> org.apache.jasper.compiler.Parser.parseDirective(Parser.java:483)
>> org.apache.jasper.compiler.Parser.parseElements(Parser.java:1539)
>> org.apache.jasper.compiler.Parser.parse(Parser.java:126)
>>
>>org.apache.jasper.compiler.ParserController.doParse(ParserController.java:220)
>>
>>org.apache.jasper.compiler.ParserController.parse(ParserController.java:101)
>> org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:203)
>> org.apache.jasper.compiler.Compiler.compile(Compiler.java:470)
>> org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
>> org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
>>
>>org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
>>
>>org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
>>
>>org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
>> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
>> javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>>
>>*note* _The full stack trace of the root cause is available in the
>>Apache Tomcat/5.0.28 logs.
>>
>>
>>
>>_breadcrumbs_1_0.tld:
>>
>>
>><?xml version="1.0" encoding="UTF-8" ?>
>><taglib xmlns="http://java.sun.com/xml/ns/j2ee"
>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>> xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
>>http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
>> version="2.0">
>>
>> <description>Breadcrumbs library</description>
>> <display-name>Breadcrumbs</display-name>
>> <tlib-version>1.1</tlib-version>
>> <short-name>bc</short-name>
>> <uri>http://projects.cofront.net/tablibs/breadcrumbs</uri>
>> <tag>
>> <description>Creates Breadcrumbs.</description>
>> <name>breadcrumbs</name>
>> <tag-class>net.cofront.taglibs.breadcrumbs.BreadCrumbsTag</tag-class>
>> <body-content>JSP</body-content>
>> <attribute>
>> <description>Separator string.</description>
>> <name>separator</name>
>> <required>yes</required>
>> <rtexprvalue>true</rtexprvalue>
>> </attribute>
>> <attribute>
>> <description>CSS style to be applied to all breadcrumb
>>links.</description>
>> <name>style</name>
>> <required>no</required>
>> <rtexprvalue>true</rtexprvalue>
>> </attribute>
>> <attribute>
>> <description>CSS style class to be applied to all breadcrumb
>>links.</description>
>> <name>styleClass</name>
>> <required>no</required>
>> <rtexprvalue>true</rtexprvalue>
>> </attribute>
>> </tag>
>> <tag>
>> <description>A Breadcrumb.</description>
>> <name>breadcrumb</name>
>> <tag-class>net.cofront.taglibs.breadcrumbs.BreadCrumbTag</tag-class>
>> <body-content>JSP</body-content>
>> <attribute>
>> <description>URL</description>
>> <name>href</name>
>> <required>true</required>
>> <rtexprvalue>false</rtexprvalue>
>> </attribute>
>> </tag>
>></taglib>
>>
>>
>>web.xml:
>>
>><web-app xmlns="http://java.sun.com/xml/ns/j2ee"
>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>> xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
>>http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
>> version="2.4">
>>
>> <display-name>ROOT</display-name>
>>
>> <servlet>
>> <servlet-name>action</servlet-name>
>>
>><servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
>> <init-param>
>> <param-name>config</param-name>
>> <param-value>/WEB-INF/config/struts-config.xml</param-value>
>> </init-param>
>> <load-on-startup>1</load-on-startup>
>> </servlet>
>>
>> @maven.tomcat.generated@
>>
>> <servlet-mapping>
>> <servlet-name>action</servlet-name>
>> <url-pattern>*.do</url-pattern>
>> </servlet-mapping>
>>
>> <jsp-config>
>> <!--
>> <taglib>
>>
>><taglib-uri>http://projects.cofront.net/taglibs/breadcrumbs</taglib-uri>
>> <taglib-location>/WEB-INF/breadcrumbs_1_0.tld</taglib-location>
>> </taglib>
>> -->
>> </jsp-config>
>>
>> <welcome-file-list>
>> <welcome-file>index.html</welcome-file>
>> <welcome-file>index.htm</welcome-file>
>> <welcome-file>index.jsp</welcome-file>
>> </welcome-file-list>
>>
>></web-app>
>>
>>
>>
>>
>
>
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>For additional commands, e-mail: users-help@tomcat.apache.org
>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org
Re: tld files inside jars are not auto discovered
Posted by Bill Barker <wb...@wilshire.com>.
You need to install your tld in /META-INF/. Paths in jar files are
case-sensitive.
"Aaron Loucks" <lo...@cofront.net> wrote in message
news:4387F654.4090200@cofront.net...
>I can't get TLD auto discovery to work for any custom taglibs i write
> when I package them as jars. It works fine for the standard taglibs
> (core, fmt, etc..). The tld file is packaged inside the jar as
> '/meta-inf/breadcrumbs_1_0.tld', and breadcrumbs-1.0.jar is located in
> /WEB-INF/lib. If i put a copy of the tld in the WEB-INF directory and
> add a <taglib/> entry for it in web.xml, I'm able to use the tags. I
> don't understand why Tomcat (5.0.28) is auto detecting the TLD files
> inside the standard taglibs (standard.jar), but it won't autodetect them
> in jar files i produce. Any help would be greatly appreciated.
>
> -Aaron
>
> test.jsp:
>
> <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
> pageEncoding="ISO-8859-1" %>
>
> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
> <%@ taglib prefix="bc"
> uri="http://projects.cofront.net/tablibs/breadcrumbs" %>
>
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
> <html>
> <head>
> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
> <title>Breadcrumb Test</title>
> </head>
> <body>
> <bc:breadcrumbs separator=" » " style="color:red;">
> <bc:breadcrumb href="page1.htm">page1</bc:breadcrumb>
> <bc:breadcrumb href="page2.htm">page2</bc:breadcrumb>
> <bc:breadcrumb href="page3.htm">page3</bc:breadcrumb>
> </bc:breadcrumbs>
>
> </body>
> </html>
>
> Produces the following error:
>
> org.apache.jasper.JasperException: The absolute uri:
> http://projects.cofront.net/tablibs/breadcrumbs cannot be
> resolved in either web.xml or the jar files deployed with this application
>
> org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:50)
>
> org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:411)
>
> org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:118)
>
> org.apache.jasper.compiler.TagLibraryInfoImpl.generateTLDLocation(TagLibraryInfoImpl.java:316)
>
> org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:147)
> org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:418)
> org.apache.jasper.compiler.Parser.parseDirective(Parser.java:483)
> org.apache.jasper.compiler.Parser.parseElements(Parser.java:1539)
> org.apache.jasper.compiler.Parser.parse(Parser.java:126)
>
> org.apache.jasper.compiler.ParserController.doParse(ParserController.java:220)
>
> org.apache.jasper.compiler.ParserController.parse(ParserController.java:101)
> org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:203)
> org.apache.jasper.compiler.Compiler.compile(Compiler.java:470)
> org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
> org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
>
> org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
>
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
>
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>
> *note* _The full stack trace of the root cause is available in the
> Apache Tomcat/5.0.28 logs.
>
>
>
> _breadcrumbs_1_0.tld:
>
>
> <?xml version="1.0" encoding="UTF-8" ?>
> <taglib xmlns="http://java.sun.com/xml/ns/j2ee"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
> http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
> version="2.0">
>
> <description>Breadcrumbs library</description>
> <display-name>Breadcrumbs</display-name>
> <tlib-version>1.1</tlib-version>
> <short-name>bc</short-name>
> <uri>http://projects.cofront.net/tablibs/breadcrumbs</uri>
> <tag>
> <description>Creates Breadcrumbs.</description>
> <name>breadcrumbs</name>
> <tag-class>net.cofront.taglibs.breadcrumbs.BreadCrumbsTag</tag-class>
> <body-content>JSP</body-content>
> <attribute>
> <description>Separator string.</description>
> <name>separator</name>
> <required>yes</required>
> <rtexprvalue>true</rtexprvalue>
> </attribute>
> <attribute>
> <description>CSS style to be applied to all breadcrumb
> links.</description>
> <name>style</name>
> <required>no</required>
> <rtexprvalue>true</rtexprvalue>
> </attribute>
> <attribute>
> <description>CSS style class to be applied to all breadcrumb
> links.</description>
> <name>styleClass</name>
> <required>no</required>
> <rtexprvalue>true</rtexprvalue>
> </attribute>
> </tag>
> <tag>
> <description>A Breadcrumb.</description>
> <name>breadcrumb</name>
> <tag-class>net.cofront.taglibs.breadcrumbs.BreadCrumbTag</tag-class>
> <body-content>JSP</body-content>
> <attribute>
> <description>URL</description>
> <name>href</name>
> <required>true</required>
> <rtexprvalue>false</rtexprvalue>
> </attribute>
> </tag>
> </taglib>
>
>
> web.xml:
>
> <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
> http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
> version="2.4">
>
> <display-name>ROOT</display-name>
>
> <servlet>
> <servlet-name>action</servlet-name>
>
> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
> <init-param>
> <param-name>config</param-name>
> <param-value>/WEB-INF/config/struts-config.xml</param-value>
> </init-param>
> <load-on-startup>1</load-on-startup>
> </servlet>
>
> @maven.tomcat.generated@
>
> <servlet-mapping>
> <servlet-name>action</servlet-name>
> <url-pattern>*.do</url-pattern>
> </servlet-mapping>
>
> <jsp-config>
> <!--
> <taglib>
>
> <taglib-uri>http://projects.cofront.net/taglibs/breadcrumbs</taglib-uri>
> <taglib-location>/WEB-INF/breadcrumbs_1_0.tld</taglib-location>
> </taglib>
> -->
> </jsp-config>
>
> <welcome-file-list>
> <welcome-file>index.html</welcome-file>
> <welcome-file>index.htm</welcome-file>
> <welcome-file>index.jsp</welcome-file>
> </welcome-file-list>
>
> </web-app>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org