Can';由于org.apache.catalina.LifecycleException异常,无法在Tomcat8上启动应用程序?
我将我的文件夹(myApp)复制到Tomcat8的webapps文件夹中 然后我转到“Tomcat Web应用程序管理器”&我在那里看到“/myApp”running=false。然后我单击开始并发现此错误: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
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