我们正在尝试在 Tomcat 7 上部署 ActiveMQ Web Console 5.6(准确地说是针对 Java 1.7.0_07 运行的 7.0.29)。
手动部署 web 控制台战争后,我们修改了http://activemq.apache.org/web-console.html上的说明 如下:
- 我们将 activemq-all-5.6.0.jar、jetty.util.6.1.12.jar 和 commons-logging-1.1.jar 添加到 ${cataline_home}/lib 目录
- 我们在 catalina.bat 中添加了以下内容: CATALINA_OPTS=-Xms4m -Xmx256m -Dwebconsole.type=properties -Dwebconsole.jms.url=tcp://localhost:61616 -Dwebconsole.jmx.url=service:jmx:rmi:// /jndi/rmi://localhost:1099/jmxrmi -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=7777 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management .jmxremote.authenticate=false
然后Tomcat就愉快的启动了,我们可以看到web控制台的登陆页面(http://localhost:8080/activemq-web-console-5.6.0/),但是当我们尝试访问时:
http://localhost:8080/activemq-web-console-5.6.0/queueGraph.jsp
我们得到以下堆栈跟踪:
SEVERE: Servlet.service() for servlet [jsp] in context with path [/activemq-web-console-5.6.0] threw exception [PWC6033: Unable to compile class for JSP] with root cause
java.lang.NullPointerException
at org.apache.taglibs.standard.tlv.JstlBaseTLV.validate(JstlBaseTLV.java:178)
at org.apache.taglibs.standard.tlv.JstlCoreTLV.validate(JstlCoreTLV.java:134)
at org.apache.jasper.compiler.TagLibraryInfoImpl.validate(TagLibraryInfoImpl.java:913)
at org.apache.jasper.compiler.Validator.validateXmlView(Validator.java:1891)
at org.apache.jasper.compiler.Validator.validate(Validator.java:1859)
at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:210)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:435)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:608)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:360)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:486)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:380)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:83)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.activemq.web.SessionFilter.doFilter(SessionFilter.java:45)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.activemq.web.filter.ApplicationContextFilter.doFilter(ApplicationContextFilter.java:81)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:65)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1001)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Sep 25, 2012 1:04:13 PM org.apache.catalina.core.ApplicationContext log
SEVERE: Servlet jsp threw unload() exception
javax.servlet.ServletException: Servlet.destroy() for servlet jsp threw exception
at org.apache.catalina.core.StandardWrapper.unload(StandardWrapper.java:1485)
at org.apache.catalina.core.StandardWrapper.stopInternal(StandardWrapper.java:1822)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5463)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1575)
at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1564)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.NoSuchFieldError: deferredExpression
at org.apache.taglibs.standard.tag.common.core.ForEachSupport.release(ForEachSupport.java:212)
at org.apache.jasper.runtime.TagHandlerPool.release(TagHandlerPool.java:197)
at org.apache.jsp.queues_jsp._jspDestroy(org.apache.jsp.queues_jsp:41)
at org.apache.jasper.runtime.HttpJspBase.destroy(HttpJspBase.java:100)
at org.apache.jasper.servlet.JspServletWrapper.destroy(JspServletWrapper.java:424)
at org.apache.jasper.compiler.JspRuntimeContext.destroy(JspRuntimeContext.java:347)
at org.apache.jasper.servlet.JspServlet.destroy(JspServlet.java:410)
at org.apache.catalina.core.StandardWrapper.unload(StandardWrapper.java:1464)
... 11 more
有人可以帮忙吗?
请注意:完全相同的步骤,但使用 Tomcat 6.0.35 可以正常工作。
TIA
干杯,安德鲁