аннулирование кэша jboss / tomcat tld

#caching #tomcat #jboss #tld

#кэширование #tomcat #jboss #tld

Вопрос:

У меня есть приложение jboss с некоторыми ушами. Внутри ear есть war, а в папке WEB-INF war есть файл monitor.tld.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=’Сервлет 2.4; JBoss-4.2.2.GA (сборка: SVNTag=JBoss_4_2_2_GA дата =200710221139)/Tomcat-5.5′

Ответ №1:

Проблема заключалась в том, что другой monitor.tld существовал внутри одного из файлов jar.