我有一些耳朵的jboss应用程序。耳朵里有战争,战争的WEB-INF文件夹里有monitor.tld文件。

monitor.tld内部有一些标签定义。我在此文件中添加了自定义标签定义,然后重新启动了jsboss。之后,当我在jsp中使用标签时,出现错误:

2011-04-23 16:38:31,829 INFO  [STDOUT] 2011-04-23 16:38:31,761 [http-0.0.0.0-8080-4] ERROR [] org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/Monitor].[jsp] - Servlet.service() for servlet jsp threw exception
org.apache.jasper.JasperException: /tiles/layout/wizardLayout.jsp(140,4) No tag "wizardNavEx" defined in tag library imported with prefix "mon"
    at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
    at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
    at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:198)
    at org.apache.jasper.compiler.Parser.parseCustomTag(Parser.java:1213)
    at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1449)
    at org.apache.jasper.compiler.Parser.parse(Parser.java:133)
    at org.apache.jasper.compiler.ParserController.doParse(ParserController.java:216)
    at org.apache.jasper.compiler.ParserController.parse(ParserController.java:103)
    at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:167)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:306)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:273)
    at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:316)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:336)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:654)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:445)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:379)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:292)
    at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1078)
    at org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:295)
    at org.apache.struts.tiles.TilesRequestProcessor.processTilesDefinition(TilesRequestProcessor.java:271)
    at org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:332)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:232)
...


因此,我的自定义标签wizardNavEx不起作用,但是在monitor.tld中定义的wizardNav上面几行也可以正常工作。

我认为问题是tomcat / jboss在某个地方缓存了monitor.tld的先前版本。如何清除缓存?有任何想法吗?

版本:

X-Powered-By ='Servlet 2.4; JBoss-4.2.2.GA(内部版本:SVNTag = JBoss_4_2_2_GA日期= 200710221139)/Tomcat-5.5'

最佳答案

问题在于jar文件之一中存在另一个monitor.tld。

关于caching - jboss/tomcat tld缓存无效,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5786055/

10-11 04:12