2017-02-21 1 views
0

Das verwirrt mich: obwohl unpackWARs in /etc/tomcat7/server.xml auf 'true' gesetzt ist und entpackWAR nirgendwo anders gefunden werden kann (einschließlich context.xml), bleibt der WAR gepackt. Es packt nie aus!Wie kann ein Krieg nicht entpacken, obwohl unpackWar auf wahr gesetzt ist?

Die VM ist ein Klon von einem anderen, wo der Krieg auspackt, sobald Tomcat startet. Also sollte die Konfiguration genau gleich sein ... und ich kann nicht verstehen, warum es sich dort anders verhält!

Gibt es einen anderen Ort (außer für server.xml und context.xml), der angibt, ob die Kriege entpacken sollen oder nicht? Gibt es einen Hinweis darauf, wo ich hinschauen soll oder wie ich sicherstellen kann, dass der Krieg ausgepackt wird?

Danke für Ihre Lektüre und Hilfe!

+0

Was sagt es in Catalina.out? Tritt ein Fehler auf, bevor der Krieg ausgeführt wird? Wenn alles korrekt geladen wird, sollten einige Zeilen zur Deployment-Zeit die letzten Einträge in Catalina.out sein, wenn Sie Ihre Logs löschen und dann Tomcat mit dem WAR im Webapps-Ordner neu starten. –

+0

Usman, srry für die späte Antwort. Ich sah nichts besonderes in catalina.out (nichts, was mehr oder weniger offensichtliche PB in Bezug auf, sagen wir, Erlaubnis Problem) – Marvin

Antwort

1

gewährleisten die Config-Syntax arbeitete wahrscheinlich durch das Skript ausführen unter: "tomcat-home" /bin/configtest.sh

+0

Danke für den Tipp. Das hat kein offensichtliches Problem aufgezeigt, aber zumindest habe ich etwas gelernt! – Marvin

1

Nach der Dokumentation für das Attribut unpackWAR in Context von http://tomcat.apache.org/tomcat-7.0-doc/config/context.html:

Wenn false, wird das Attribut unpackWARs des besitzenden Hosts überschrieben und die WAR-Datei wird nicht entpackt. Wenn dies der Fall ist, bestimmt der Wert des Attributs unpackWARs des besitzenden Hosts, ob der WAR entpackt ist. Wenn nicht angegeben, ist der Standardwert wahr.

prüfen Kontextkonfiguration - machen zusätzliche zusätzliche sicher, dass Sie nicht für unpackWARs aussahen, weil der Kontext Attributnamen singulär ist, unpackWAR.

Auch context.xml könnte in der WAR-Datei verpackt werden, oder in conf/localhost (oder was auch immer Sie konfigurieren als Hostnamen in conf/)

Zusätzlich Berechtigungen überprüfen & Eigentum auf dem Webapps-Ordner (und Temp), wo Sie erwarten würden, dass die WAR-Datei entpackt wird. Ich würde erwarten, dass dies in den Logs angezeigt wird, aber man weiß nie (sie könnten auch schreibgeschützt sein ...). Ein häufiges Problem, das ich sehe, ist: Jemand "versehentlich" startet Tomcat als root, die eine Menge von Dateibesitzern & ändert, es für später ruinieren, wenn es mit dem richtigen unprivilegierten Benutzerkonto ausgeführt wird.

Der Tomcat-Benutzer auf einem der Computer hat möglicherweise eine andere Benutzer-ID als auf der anderen - was zu unerwartetem Verhalten führen kann.

+0

Olaf, danke für die Hilfe. Allerdings haben wir viele Male nach zusätzlichen (und unerwünschten!) 'S gesucht und keine gefunden. Außerdem haben wir nach einer 'context.xml'-Datei gesucht, und auch in der App' war, aber keiner von ihnen hält diesen Parameter ... Daher bin ich immer noch verwirrt darüber :) – Marvin

Verwandte Themen