Tomcat 启动,报如下错误?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Tomcat 启动,报如下错误?相关的知识,希望对你有一定的参考价值。

2013-12-12 17:18:52 org.apache.catalina.core.ContainerBase startInternal
严重: A child container failed during start
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1128)
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:302)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:732)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.startup.Catalina.start(Catalina.java:675)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
Caused by: java.lang.ClassNotFoundException: com.insightcn.wanyan.actions.interceptor.RepeatSubmitInterceptor

Caused by: java.lang.ClassNotFoundException: com.insightcn.wanyan.actions.interceptor.LoginInterceptor

Caused by: java.lang.ClassNotFoundException: com.insightcn.wanyan.actions.interceptor.MobileInterceptor

Caused by: java.lang.ClassNotFoundException: com.insightcn.wanyan.actions.interceptor.OpenUpropInterceptor

这个问题有很多原因,我遇到的一个场景如下,先给解决办法,再分析

解决办法:

仔细检查会发现,会发现有这个一个错误提示: 

Multiple markers at this line

- The type org.apache.commons.pool2.impl.GenericObjectPoolConfig cannot be resolved. It is indirectly referenced from 

required .class files

这个提示是包冲突,看到这个会想到maven依赖有冲突,注释掉多余的依赖问题则解决了(springboot 有个数据访问的项目 集成了commons.pool,我的是是pom中多加了一个commons.pool 的依赖)。

问题描述:

ContainerBase.addChild: start: 

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

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

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

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

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

at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:621)

at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1835)

at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)

at java.util.concurrent.FutureTask.run(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

Caused by: org.apache.catalina.LifecycleException: Failed to start component [org.apache.catalina.webresources.StandardRoot@5abfde6e]

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

at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4969)

at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5102)

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

... 10 more

Caused by: org.apache.catalina.LifecycleException: Failed to initialize component [org.apache.catalina.webresources.JarResourceSet@4b64f19e]

at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:107)

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

at org.apache.catalina.webresources.StandardRoot.startInternal(StandardRoot.java:722)

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

... 13 more

Caused by: java.lang.IllegalArgumentException: java.util.zip.ZipException: invalid LOC header (bad signature)

at org.apache.catalina.webresources.AbstractSingleArchiveResourceSet.initInternal(AbstractSingleArchiveResourceSet.java:113)

at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)

... 16 more

Caused by: java.util.zip.ZipException: invalid LOC header (bad signature)

at java.util.zip.ZipFile.read(Native Method)

at java.util.zip.ZipFile.access$1400(Unknown Source)

at java.util.zip.ZipFile$ZipFileInputStream.read(Unknown Source)

at java.util.zip.ZipFile$ZipFileInflaterInputStream.fill(Unknown Source)

at java.util.zip.InflaterInputStream.read(Unknown Source)

at sun.misc.IOUtils.readFully(Unknown Source)

at java.util.jar.JarFile.getBytes(Unknown Source)

at java.util.jar.JarFile.getManifestFromReference(Unknown Source)

at java.util.jar.JarFile.getManifest(Unknown Source)

at org.apache.catalina.webresources.AbstractSingleArchiveResourceSet.initInternal(AbstractSingleArchiveResourceSet.java:111)

... 17 more

一月 10, 2018 4:55:33 下午 org.apache.catalina.startup.HostConfig deployDescriptor

严重: Error deploying configuration descriptor D:\\files\\workspace\\.metadata\\.plugins\\org.eclipse.wst.server.core\\tmp0\\conf\\Catalina\\localhost\\datas-pre.xml

java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/datas-pre]]

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

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

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

at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:621)

at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1835)

at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)

at java.util.concurrent.FutureTask.run(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

参考技术A Servlet配置文件web.xml有<url-pattern> </url-pattern>标签内的字符串漏了符号“/” 比如,正确的写法是:<url-pattern>/Serv1</url-pattern>,而经常犯的错误写法:<url-pattern>Serv1</url-pattern>
自己仔细找找看吧。
参考技术B 查看localhost问题, 包括端口占用 参考技术C 这些信息都没什么用,你是带着工程起的吧,是不是工程哪儿配错了。
你应该在给些有用的错误信息才能判断的。追问

把项目重新build了一下,还是不行

追答

Caused by: java.lang.ClassNotFoundException: com.insightcn.wanyan.actions.interceptor.RepeatSubmitInterceptor

Caused by: java.lang.ClassNotFoundException: com.insightcn.wanyan.actions.interceptor.LoginInterceptor

Caused by: java.lang.ClassNotFoundException: com.insightcn.wanyan.actions.interceptor.MobileInterceptor

Caused by: java.lang.ClassNotFoundException: com.insightcn.wanyan.actions.interceptor.OpenUpropInterceptor

这不写着吗?文件找不到,你看看这些class文件有没有,然后为什么没有,是不是没有编译,或者本来就错了。

tomcat启动报java.io.NotSerializableException或者WriteAbortedException错误解决方法

NotSerializableException或者WriteAbortedException

运行tomcat下面的 ssh项目,启动,打开某页面(让session起作用),停止;再启动,有可能会报类似如下的错误:

  org.apache.catalina.session.StandardManager doLoad

严重: IOException while loading persisted sessions: java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: xxxxxxxx

java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: xxxxxxxx

 

  org.apache.catalina.session.StandardManager start

严重: Exception loading sessions from persistent storage

java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: xxxxxxx

 

原因是:tomcat停止时,保存session资源,然后在重启服务后,会尝试恢复session。

 

解决办法一:

 配置tomcat在关闭的时候就不去保存session资源。

 

 在server.xml中Context下添加如下的内容:

<Manager className="org.apache.catalina.session.PersistentManager" saveOnRestart="false"/>

 

再进行启动停止等操作,报如下的类似错误:

 org.apache.catalina.session.PersistentManagerBase start

严重: No Store configured, persistence disabled

 

原因是添加的东东少添加了一点点儿。

解决办法:

修改刚才添加的 <Context>中<Manager> 元素:

    <Manager className="org.apache.catalina.session.PersistentManager" saveOnRestart="false"/>

改为:

    <Manager className="org.apache.catalina.session.PersistentManager" saveOnRestart="false">

        <Store className="org.apache.catalina.session.FileStore"/>

    </Manager>

即可解决该问题。  

 

解决办法二:

将那些需要放在session的类进行序列化。

也就是让类实现接口java.io.Serializable即可。

以上是关于Tomcat 启动,报如下错误?的主要内容,如果未能解决你的问题,请参考以下文章

tomcat启动报错,求高手指点

tomcat启动报java.io.NotSerializableException或者WriteAbortedException错误解决方法

activemq与spring整合,tomcat启动,控制台报如下错误,activemq管理界面看不到消费者

tomcat启动报错!

tomcat启动报错!

Myeclise下tomcat启动报错,启动超时