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.warwebapps目录中的唯一war文件(除了通常的默认内容,如examplesmanager等)。

关于可能的原因有什么想法吗?

最佳答案

这通常是由应用程序类层次结构问题引起的。我看到的一个例子是,过时的类引入了循环继承。

如果您升级到7.0.47,则会收到有关问题所在的更多信息,错误消息。另外,您的应用程序的完整构建可能足以清除问题。

关于java - Tomcat7:WAITINGWAR文件的多线程部署完成时出错,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12459666/

10-10 22:28