tomcat启动报错

  • Post author:
  • Post category:其他


今天在启动tomcat时报错:

SEVERE: ContainerBase.addChild: start:

org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/manager]]



at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)



at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)



at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)



at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:649)



at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1247)



at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1897)



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.NoSuchMethodError: javax.servlet.ServletContext.getClassLoader()Ljava/lang/ClassLoader;



at org.apache.catalina.startup.WebappServiceLoader.load(WebappServiceLoader.java:90)



at org.apache.catalina.startup.ContextConfig.processServletContainerInitializers(ContextConfig.java:1559)



at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1281)



at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:889)



at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:386)



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:5380)



at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)



… 10 more

开始在网上查找原因,有说web.xml中的路径配置前没有加“/”,后来检查后发现没有问题。排除这个原因。

因为在其他环境下也部署过同样的应用,启动没有问题,后来就进行了比较。

首先比较tomcat下文件的所有权限,发现没有问题。

其次比较tomcat/lib目录下的包是否一样,发现没有问题。

最后检查java版本,发现小版本不同,然后将servlet-api.jar 拷贝jre/lib/ext目录下,启动即可。



版权声明:本文为sulong507原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。