2011-04-26 56 views
0

我有一个耳朵的jboss应用程序。耳内有战争,战争的WEB-INF文件夹中有文件monitor.tld。jboss/tomcat 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不起作用,但在wizardNav定义monitor.tld上面几行工作正常。

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

版本:

X-Powered-By ='Servlet 2.4; JBoss-4.2.2.GA(build:SVNTag = JBoss_4_2_2_GA date = 200710221139)/Tomcat-5.5'

回答

0

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