[jboss-jira] [JBoss JIRA] (WFLY-10411) TLDs under META-INF/resources inside the web-fragment jar is not loaded

Masafumi Miura (JIRA) issues at jboss.org
Mon May 21 05:49:01 EDT 2018


     [ https://issues.jboss.org/browse/WFLY-10411?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Masafumi Miura updated WFLY-10411:
----------------------------------
    Description: 
TLDs under META-INF/resources inside the web-fragment jar is not loaded.

{code:title=directory structure of the web-fragment jar}
taglib-jar
|-- META-INF
|   |-- resources
|   |   `-- WEB-INF
|   |       `-- tlds
|   |           `-- hi.tld
|   `-- web-fragment.xml
`-- simple
    `-- HiTag.class
{code}

{code:title=web-fragment.xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-fragment id="WebFragment_ID"
    version="3.0"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-fragment_3_0.xsd">
    ...(snip)...

    <jsp-config>
        <taglib>
            <taglib-uri>/HiTag</taglib-uri>
            <taglib-location>/WEB-INF/tlds/hi.tld</taglib-location>
        </taglib>
    </jsp-config>

</web-fragment>
{code}


The following ERROR is thrown at the deployment:

{code}
ERROR [org.wildfly.extension.undertow] (MSC service thread 1-8) WFLYUT0074: Could not find TLD /WEB-INF/tlds/hi.tld
{code}

JSP returns "500 Internal Server Error" and Jastow throws the following ERROR when accessing the JSP which has {{<%@ taglib uri="/HiTag" prefix="say"%>}} or {{<%@ taglib uri="/WEB-INF/tlds/hi.tld" prefix="say"%>}}:

{code}
ERROR [io.undertow.request] (default task-1) UT005023: Exception handling request to /taglib-jar-in-war/hi.jsp: org.apache.jasper.JasperException: JBWEB004036: File "/HiTag" not found
	at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:57)
	at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:278)
	at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:75)
	at org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:171)
	at org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:412)
	at org.apache.jasper.compiler.Parser.parseDirective(Parser.java:475)
	at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1459)
	at org.apache.jasper.compiler.Parser.parse(Parser.java:143)
	at org.apache.jasper.compiler.ParserController.doParse(ParserController.java:223)
	at org.apache.jasper.compiler.ParserController.parse(ParserController.java:102)
	at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:200)
	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:354)
	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)
	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:321)
	at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:652)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:358)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:403)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:347)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
	...(snip)...
{code}

{code}
ERROR [io.undertow.request] (default task-1) UT005023: Exception handling request to /taglib-jar-in-war/index.jsp: org.apache.jasper.JasperException: JBWEB004036: File "/WEB-INF/tlds/hi.tld" not found
	at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:57)
	at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:278)
	at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:75)
	at org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:171)
	at org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:412)
	at org.apache.jasper.compiler.Parser.parseDirective(Parser.java:475)
	at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1459)
	at org.apache.jasper.compiler.Parser.parse(Parser.java:143)
	at org.apache.jasper.compiler.ParserController.doParse(ParserController.java:223)
	at org.apache.jasper.compiler.ParserController.parse(ParserController.java:102)
	at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:200)
	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:354)
	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)
	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:321)
	at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:652)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:358)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:403)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:347)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
	...(snip)...
{code}

Note that the same war file can be deployed and the JSPs works on Tomcat 8.

  was:
TLDs under META-INF/resources inside the web-fragment jar is not loaded.

{code:title=directory structure of the web-fragment jar}
taglib-jar
|-- META-INF
|   |-- resources
|   |   `-- WEB-INF
|   |       `-- tlds
|   |           `-- hi.tld
|   `-- web-fragment.xml
`-- simple
    `-- HiTag.class
{code}

{code:title=web-fragment.xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-fragment id="WebFragment_ID"
    version="3.0"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-fragment_3_0.xsd">
    ...(snip)...

    <jsp-config>
        <taglib>
            <taglib-uri>/HiTag</taglib-uri>
            <taglib-location>/WEB-INF/tlds/hi.tld</taglib-location>
        </taglib>
    </jsp-config>

</web-fragment>
{code}


The following ERROR is thrown at the deployment:

{code}
ERROR [org.wildfly.extension.undertow] (MSC service thread 1-8) WFLYUT0074: Could not find TLD /WEB-INF/tlds/hi.tld
{code}

JSP returns "500 Internal Server Error" and Jastow throws the following ERROR when accessing the JSP which has {{<%@ taglib uri="/HiTag" prefix="say"%>}} or {{<%@ taglib uri="/WEB-INF/tlds/hi.tld" prefix="say"%>}}:

{code}
ERROR [io.undertow.request] (default task-1) UT005023: Exception handling request to /taglib-jar-in-war/hi.jsp: org.apache.jasper.JasperException: JBWEB004036: File "/HiTag" not found
	at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:57)
	at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:278)
	at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:75)
	at org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:171)
	at org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:412)
	at org.apache.jasper.compiler.Parser.parseDirective(Parser.java:475)
	at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1459)
	at org.apache.jasper.compiler.Parser.parse(Parser.java:143)
	at org.apache.jasper.compiler.ParserController.doParse(ParserController.java:223)
	at org.apache.jasper.compiler.ParserController.parse(ParserController.java:102)
	at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:200)
	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:354)
	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)
	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:321)
	at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:652)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:358)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:403)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:347)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
	...(snip)...
{code}

{code}
ERROR [io.undertow.request] (default task-1) UT005023: Exception handling request to /taglib-jar-in-war/index.jsp: org.apache.jasper.JasperException: JBWEB004036: File "/WEB-INF/tlds/hi.tld" not found
	at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:57)
	at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:278)
	at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:75)
	at org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:171)
	at org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:412)
	at org.apache.jasper.compiler.Parser.parseDirective(Parser.java:475)
	at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1459)
	at org.apache.jasper.compiler.Parser.parse(Parser.java:143)
	at org.apache.jasper.compiler.ParserController.doParse(ParserController.java:223)
	at org.apache.jasper.compiler.ParserController.parse(ParserController.java:102)
	at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:200)
	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:354)
	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)
	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:321)
	at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:652)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:358)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:403)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:347)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
	...(snip)...
{code}




> TLDs under META-INF/resources inside the web-fragment jar is not loaded
> -----------------------------------------------------------------------
>
>                 Key: WFLY-10411
>                 URL: https://issues.jboss.org/browse/WFLY-10411
>             Project: WildFly
>          Issue Type: Bug
>          Components: Web (Undertow)
>    Affects Versions: 13.0.0.Beta1
>            Reporter: Masafumi Miura
>            Assignee: Stuart Douglas
>         Attachments: jsp-taglib-jar-in-war.zip
>
>
> TLDs under META-INF/resources inside the web-fragment jar is not loaded.
> {code:title=directory structure of the web-fragment jar}
> taglib-jar
> |-- META-INF
> |   |-- resources
> |   |   `-- WEB-INF
> |   |       `-- tlds
> |   |           `-- hi.tld
> |   `-- web-fragment.xml
> `-- simple
>     `-- HiTag.class
> {code}
> {code:title=web-fragment.xml}
> <?xml version="1.0" encoding="UTF-8"?>
> <web-fragment id="WebFragment_ID"
>     version="3.0"
>     xmlns="http://java.sun.com/xml/ns/javaee"
>     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-fragment_3_0.xsd">
>     ...(snip)...
>     <jsp-config>
>         <taglib>
>             <taglib-uri>/HiTag</taglib-uri>
>             <taglib-location>/WEB-INF/tlds/hi.tld</taglib-location>
>         </taglib>
>     </jsp-config>
> </web-fragment>
> {code}
> The following ERROR is thrown at the deployment:
> {code}
> ERROR [org.wildfly.extension.undertow] (MSC service thread 1-8) WFLYUT0074: Could not find TLD /WEB-INF/tlds/hi.tld
> {code}
> JSP returns "500 Internal Server Error" and Jastow throws the following ERROR when accessing the JSP which has {{<%@ taglib uri="/HiTag" prefix="say"%>}} or {{<%@ taglib uri="/WEB-INF/tlds/hi.tld" prefix="say"%>}}:
> {code}
> ERROR [io.undertow.request] (default task-1) UT005023: Exception handling request to /taglib-jar-in-war/hi.jsp: org.apache.jasper.JasperException: JBWEB004036: File "/HiTag" not found
> 	at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:57)
> 	at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:278)
> 	at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:75)
> 	at org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:171)
> 	at org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:412)
> 	at org.apache.jasper.compiler.Parser.parseDirective(Parser.java:475)
> 	at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1459)
> 	at org.apache.jasper.compiler.Parser.parse(Parser.java:143)
> 	at org.apache.jasper.compiler.ParserController.doParse(ParserController.java:223)
> 	at org.apache.jasper.compiler.ParserController.parse(ParserController.java:102)
> 	at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:200)
> 	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:354)
> 	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)
> 	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:321)
> 	at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:652)
> 	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:358)
> 	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:403)
> 	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:347)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
> 	...(snip)...
> {code}
> {code}
> ERROR [io.undertow.request] (default task-1) UT005023: Exception handling request to /taglib-jar-in-war/index.jsp: org.apache.jasper.JasperException: JBWEB004036: File "/WEB-INF/tlds/hi.tld" not found
> 	at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:57)
> 	at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:278)
> 	at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:75)
> 	at org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:171)
> 	at org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:412)
> 	at org.apache.jasper.compiler.Parser.parseDirective(Parser.java:475)
> 	at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1459)
> 	at org.apache.jasper.compiler.Parser.parse(Parser.java:143)
> 	at org.apache.jasper.compiler.ParserController.doParse(ParserController.java:223)
> 	at org.apache.jasper.compiler.ParserController.parse(ParserController.java:102)
> 	at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:200)
> 	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:354)
> 	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)
> 	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:321)
> 	at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:652)
> 	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:358)
> 	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:403)
> 	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:347)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
> 	...(snip)...
> {code}
> Note that the same war file can be deployed and the JSPs works on Tomcat 8.



--
This message was sent by Atlassian JIRA
(v7.5.0#75005)


More information about the jboss-jira mailing list