Tomcat 7.0.30 在启动时失败(无法启动),但以下情况除外:
SEVERE: Error waiting for multi-thread deployment of WAR files to complete
以下是异常的完整堆栈跟踪:
==> /usr/share/tomcat7/logs/catalina.out <==
Sep 17, 2012 2:43:22 PM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive /usr/share/tomcat7/webapps/cfwd.war
Sep 17, 2012 2:43:22 PM org.apache.catalina.startup.HostConfig deployWARs
SEVERE: Error waiting for multi-thread deployment of WAR files to complete
java.lang.InterruptedException
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1302)
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:248)
at java.util.concurrent.FutureTask.get(FutureTask.java:111)
at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:752)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:472)
at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1454)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:296)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1374)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1530)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1540)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1519)
at java.lang.Thread.run(Thread.java:679)
请注意,
cfwd.war
是webapps
目录中的唯一war文件(除了通常的默认内容,如examples
,manager
等)。关于可能的原因有什么想法吗?
最佳答案
这通常是由应用程序类层次结构问题引起的。我看到的一个例子是,过时的类引入了循环继承。
如果您升级到7.0.47,则会收到有关问题所在的更多信息,错误消息。另外,您的应用程序的完整构建可能足以清除问题。
关于java - Tomcat7:WAITINGWAR文件的多线程部署完成时出错,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12459666/