Can';由于org.apache.catalina.LifecycleException异常,无法在Tomcat8上启动应用程序?

Can';由于org.apache.catalina.LifecycleException异常,无法在Tomcat8上启动应用程序?,tomcat,Tomcat,我将我的文件夹(myApp)复制到Tomcat8的webapps文件夹中 然后我转到“Tomcat Web应用程序管理器”&我在那里看到“/myApp”running=false。然后我单击开始并发现此错误: FAIL - Application at context path /myApp could not be started FAIL - Encountered exception org.apache.catalina.LifecycleException: Failed to sta

我将我的文件夹(myApp)复制到Tomcat8的webapps文件夹中

然后我转到“Tomcat Web应用程序管理器”&我在那里看到“/myApp”running=false。然后我单击开始并发现此错误:

FAIL - Application at context path /myApp could not be started
FAIL - Encountered exception org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/myApp]]
在此之前,Youtube上的一个人指示修改tomcat8/conf/tomcat-users.xml,如下所示:

 <?xml version='1.0' encoding='utf-8'?>
<tomcat-users>

  <role rolename="manager-gui"/>
  <role rolename="manager-script"/>
  <role rolename="manager-jmx"/>
  <role rolename="manager-status"/>
  <role rolename="admin"/>
  <user username="admin" password="admin" roles="admin,manager-gui,manager-script"/>

</tomcat-users>
Catalina.2014-05-09.log:

09-May-2014 04:52:27.290 SEVERE [localhost-startStop-1] org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/myApp]] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:726) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:702) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:697) at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1134) at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1780) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.LinkageError: loader constraint violation in interface itable initialization: when resolving method "javax.servlet.http.HttpServlet.service(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V" the class loader (instance of java/net/URLClassLoader) of the current class, gwtupload/server/UploadServlet, and the class loader (instance of org/apache/catalina/loader/WebappClassLoader) for interface javax/servlet/Servlet have different Class objects for the type let/ServletResponse;)V used in the signature at java.lang.Class.getDeclaredFields0(Native Method) at java.lang.Class.privateGetDeclaredFields(Class.java:2397) at java.lang.Class.getDeclaredFields(Class.java:1806) at org.apache.catalina.util.Introspection.getDeclaredFields(Introspection.java:106) at org.apache.catalina.startup.WebAnnotationSet.loadFieldsAnnotation(WebAnnotationSet.java:261) at org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.java:140) at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:66) at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:332) at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:771) at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:303) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5058) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ... 10 more 09-May-2014 04:52:27.305 SEVERE [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Error deploying web application directory C:\tomcat8\webapps\myApp java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/myApp]] at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:729) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:702) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:697) at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1134) at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1780) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) 09-May-2014 04:52:27.321 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory C:\tomcat8\webapps\examples 09-May-2014 04:52:28.102 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory C:\tomcat8\webapps\host-manager 09-May-2014 04:52:28.133 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory C:\tomcat8\webapps\manager 09-May-2014 04:52:28.274 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory C:\tomcat8\webapps\ROOT 09-May-2014 04:52:28.336 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"] 09-May-2014 04:52:28.336 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"] 09-May-2014 04:52:28.336 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 13386 ms 2014年5月9日04:52:27.290严重[localhost-startStop-1]org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild:开始: org.apache.catalina.LifecycleeException:无法启动组件[StandardEngine[catalina].StandardHost[localhost].StandardContext[/myApp]] 位于org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) 位于org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:726) 位于org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:702) 位于org.apache.catalina.core.StandardHost.addChild(StandardHost.java:697) 位于org.apache.catalina.startup.HostConfig.deploy目录(HostConfig.java:1134) 位于org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1780) 位于java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 在java.util.concurrent.FutureTask.run(FutureTask.java:262)处 位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 运行(Thread.java:745) 原因:java.lang.LinkageError:接口itable初始化中的加载程序约束冲突:在解析方法“javax.servlet.http.HttpServlet.service(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V”当前类的类加载程序(java/net/URLClassLoader的实例)gwtupload/server/UploadServlet时,接口javax/servlet/servlet的类加载器(org/apache/catalina/loader/WebappClassLoader的实例)对于let/ServletResponse;)类型有不同的类对象V在签名中使用 位于java.lang.Class.getDeclaredFields0(本机方法) 位于java.lang.Class.privateGetDeclaredFields(Class.java:2397) 位于java.lang.Class.getDeclaredFields(Class.java:1806) 位于org.apache.catalina.util.Introspection.getDeclaredFields(Introspection.java:106) 位于org.apache.catalina.startup.WebAnnotationSet.loadFieldsAnnotation(WebAnnotationSet.java:261) 位于org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.java:140) 位于org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:66) 在org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:332)上 位于org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:771) 位于org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:303) 位于org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117) 位于org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) 位于org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5058) 位于org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ... 10多 2014年5月9日04:52:27.305严重[localhost-startStop-1]org.apache.catalina.startup.HostConfig.deployDirectory部署web应用程序目录时出错C:\tomcat8\webapps\myApp java.lang.IllegalStateException:ContainerBase.addChild:start:org.apache.catalina.LifecycleException:未能启动组件[StandardEngine[catalina].StandardHost[localhost].StandardContext[/myApp]] 位于org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:729) 位于org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:702) 位于org.apache.catalina.core.StandardHost.addChild(StandardHost.java:697) 位于org.apache.catalina.startup.HostConfig.deploy目录(HostConfig.java:1134) 位于org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1780) 位于java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 在java.util.concurrent.FutureTask.run(FutureTask.java:262)处 位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 运行(Thread.java:745) 2014年5月9日04:52:27.321信息[localhost-startStop-1]org.apache.catalina.startup.HostConfig.deployDirectory部署web应用程序目录C:\tomcat8\webapps\examples 2014年5月9日04:52:28.102信息[localhost-startStop-1]org.apache.catalina.startup.HostConfig.deployDirectory部署web应用程序目录C:\tomcat8\webapps\host manager 2014年5月9日04:52:28.133信息[localhost-startStop-1]org.apache.catalina.startup.HostConfig.deployDirectory部署web应用程序目录C:\tomcat8\webapps\manager 2014年5月9日04:52:28.274信息[localhost-startStop-1]org.apache.catalina.startup.HostConfig.deployDirectory部署web应用程序目录C:\tomcat8\webapps\ROOT 2014年5月9日04:52:28.336信息[main]org.apache.coyote.AbstractProtocol.start启动ProtocolHandler[“http-nio-8080”] 2014年5月9日04:52:28.336信息[main]org.apache.coyote.AbstractProtocol.start启动ProtocolHandler[“ajp-nio-8009”] 2014年5月9日04:52:28.336信息[main]org.apache.catalina.startup.catalina.start服务器启动时间13386毫秒
看起来你的应用程序包含的ServletAPI与你的Tomcat不同。检查应用程序库文件夹中是否有servlet-api.jar,并尝试将其删除。如果您使用的Maven将servlet-api.jar的依赖范围设置为“提供”。

查看您的应用程序日志文件或logs/catalina.out并发布堆栈跟踪。@Stefoan,我更新了我的问题我在eclipse中运行了myAPp ok我不使用任何servlet-api。jari可以在Tomcat3中运行我的应用程序ok,因此可能会 09-May-2014 04:52:27.290 SEVERE [localhost-startStop-1] org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/myApp]] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:726) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:702) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:697) at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1134) at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1780) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.LinkageError: loader constraint violation in interface itable initialization: when resolving method "javax.servlet.http.HttpServlet.service(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V" the class loader (instance of java/net/URLClassLoader) of the current class, gwtupload/server/UploadServlet, and the class loader (instance of org/apache/catalina/loader/WebappClassLoader) for interface javax/servlet/Servlet have different Class objects for the type let/ServletResponse;)V used in the signature at java.lang.Class.getDeclaredFields0(Native Method) at java.lang.Class.privateGetDeclaredFields(Class.java:2397) at java.lang.Class.getDeclaredFields(Class.java:1806) at org.apache.catalina.util.Introspection.getDeclaredFields(Introspection.java:106) at org.apache.catalina.startup.WebAnnotationSet.loadFieldsAnnotation(WebAnnotationSet.java:261) at org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.java:140) at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:66) at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:332) at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:771) at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:303) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5058) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ... 10 more 09-May-2014 04:52:27.305 SEVERE [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Error deploying web application directory C:\tomcat8\webapps\myApp java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/myApp]] at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:729) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:702) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:697) at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1134) at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1780) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) 09-May-2014 04:52:27.321 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory C:\tomcat8\webapps\examples 09-May-2014 04:52:28.102 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory C:\tomcat8\webapps\host-manager 09-May-2014 04:52:28.133 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory C:\tomcat8\webapps\manager 09-May-2014 04:52:28.274 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory C:\tomcat8\webapps\ROOT 09-May-2014 04:52:28.336 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"] 09-May-2014 04:52:28.336 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"] 09-May-2014 04:52:28.336 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 13386 ms