【发布时间】:2012-06-26 19:23:55
【问题描述】:
我无法在 Tomcat 7 上部署 .war。它在其中一台服务器上运行良好,但在另一台服务器上却无法运行。以下是我得到的错误。
FAIL - Encountered exception org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/AppAPIs]]
以下是catalina.out的内容
警告:无法检索容器的 JNDI 命名上下文 [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/AppAPIs]] 所以没有对该容器进行清理
javax.naming.NameNotFoundException:名称 comp 未绑定于此 上下文在 org.apache.naming.NamingContext.lookup(NamingContext.java:820) 在 org.apache.naming.NamingContext.lookup(NamingContext.java:168) 在 org.apache.catalina.deploy.NamingResources.cleanUp(NamingResources.java:977) 在 org.apache.catalina.deploy.NamingResources.stopInternal(NamingResources.java:959) 在 org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232) 在 org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5470) 在 org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:141) 在 org.apache.catalina.manager.ManagerServlet.start(ManagerServlet.java:1247) 在 org.apache.catalina.manager.HTMLManagerServlet.start(HTMLManagerServlet.java:747) 在 org.apache.catalina.manager.HTMLManagerServlet.doPost(HTMLManagerServlet.java:222) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:641) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 在 org.apache.catalina.filters.CsrfPreventionFilter.doFilter(CsrfPreventionFilter.java:187) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 在 org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224) 在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) 在 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:581) 在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) 在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) 在 org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928) 在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) 在 org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987) 在 org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:539) 在 org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:298) 在 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 在 java.lang.Thread.run(Thread.java:662) 2012 年 6 月 25 日晚上 7:10:44 org.apache.catalina.loader.WebappClassLoader validateJarFile 信息: validateJarFile(/data/softwares/appapis/apache-tomcat-7.0.23/webapps/AppAPIs/WEB-INF/lib/servlet-api.jar) - jar 未加载。请参阅 Servlet 规范 2.3,第 9.7.2 节。违规类:javax/servlet/Servlet.class
PS:我已经检查了以前的解决方案,但似乎没有什么对我有用。我检查了我的 web.xml,但那里似乎没什么问题。
我的库中没有重复的 jar 文件
【问题讨论】:
-
您的类路径已损坏。您在 WEB-INF/lib 中有 servlet-api.jar。你还有什么不需要的?
-
这是我发现的,我的库中有 servlet-api.jar。我想这是在服务器上造成冲突。我需要 servlet-api.jar 来编译我的项目。
标签: deployment tomcat7