Endlosschleife bei der Bereitstellung eines Krieges auf tomcat 7
Ich versuche zum bereitstellen eines Krieges in Tomcat 7.0.29. Ich bin mit dem folgenden Protokoll-stack :
GRAVE: Error waiting for multi-thread deployment of context descriptors to complete
java.util.concurrent.ExecutionException: java.lang.StackOverflowError
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:574)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:470)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1413)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:313)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:401)
at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:346)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1140)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:785)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.StackOverflowError
at java.util.HashSet.<init>(HashSet.java:86)
at org.apache.catalina.startup.ContextConfig.populateSCIsForCacheEntry(ContextConfig.java:2208)
at org.apache.catalina.startup.ContextConfig.populateSCIsForCacheEntry(ContextConfig.java:2227)
at org.apache.catalina.startup.ContextConfig.populateSCIsForCacheEntry(ContextConfig.java:2227)
at org.apache.catalina.startup.ContextConfig.populateSCIsForCacheEntry(ContextConfig.java:2227)
at org.apache.catalina.startup.ContextConfig.populateSCIsForCacheEntry(ContextConfig.java:2227)
at org.apache.catalina.startup.ContextConfig.populateSCIsForCacheEntry(ContextConfig.java:2227)
at org.apache.catalina.startup.ContextConfig.populateSCIsForCacheEntry(ContextConfig.java:2227)
at org.apache.catalina.startup.ContextConfig.populateSCIsForCacheEntry(ContextConfig.java:2227)
(Viele stack-frames weggelassen werden...)
Hat jemand das gleiche problem ?
- können Sie nach dem web.xml Inhalt?
- Siehe issues.apache.org/bugzilla/show_bug.cgi?id=53871
InformationsquelleAutor user1646171 | 2012-09-04
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wird dies gemeldet upstream als Problem #53871 in Tomcat. Das problem scheint zu sein, mit Anmerkung Scannen und Tomcat 7.0.38 umfasst eine klarere Fehlermeldung.
Vom bug-report:
Genau das war das problem in meinem Fall: eine alte version von
dom4j
gebündelt eine inkompatible version vonjaxen
. Der neue Fehler-Diagnose in 7.0.38 zeigte genau, welche Klassen gebildet eine Schleife und ich habe es behoben, indem ein Upgrade der Abhängigkeiten.Bin ich auch mit diesem Problem im Tomcat-7.0.29 und Tomcat 7.0.30. Aber mit Tomcat-7.0.28 alles funktioniert einwandfrei, so dass ich vermute, es ist Tomcat-Problem, wurde vor kurzem eingeführt.
Den Fehler in der 7.0.29 und 7.0.30, beim starten von Tomcat und eine war-Datei implementiert:
Für mich ist dieses Verhalten reproduziert in IntelliJ Idee, wenn ich die Anwendung Kontext denselben Namen wie den der Maven atrifactId in der .pom-Datei.
E. g. meine artifactId ist 'test', dann setze ich den Anwendungskontext (Konfiguration Bearbeiten -> Tomcat-Server -> die Bereitstellung, wählen Sie die explodierte Artefakt) zu '/test'. Sobald ich änderte den Anwendungskontext, hat alles geklappt.
Ich hatte das gleiche problem. Ich glaube, es war verursacht durch Tomcat 7, wenn ich also geändert Tomcat 6.0.35, das problem löste sich wie ein Charme.
Verwenden Sie eine niedrigere version von Tomcat. Es gibt Probleme mit der version von Tomcat, die Sie verwenden.
Einen workaround : ich änderte den Namen der KRIEG (keine finalName in pom.xml und verändert das Artefakt-version) und es hat funktioniert .... warum? Ich weiß nicht, bis jetzt!
Einen real und eine echte Lösung? Auf jeden Fall eine neue Tomcat Release . . .