laut meiner Aufgabe, muss ich webapp-Verzeichnis aus dem Tomcat-Verzeichnis rausschmeißen und wo anders hin kopieren. Das geht auch alles wunderbar, da man hier einfach nur eine entsprechende Context – Datei unter $catalina_base/conf/[engine_name]/[host_name] anlegen muss und fertig ist es, die Anwendung lässt sich starten.
Meine application lässt sich auch updaten, und hier kommts. Updater läuft durch, die .war-Datei wird richtig in den von mir angegebenen Verzeichnis kopiert (Stichwort „docBase“). Das Problem ist aber, der Tomcat deployed die .war Datei nicht.
Laut Tomcat Doku soll das irgendwie funktionieren, wenn der Host Eintrag in der server.xml richtig ist, der bei mir so aussieht:
Die Pfade aus der myApp.xml verwende ich auch in meiner Prog. und da diese einwandfrei funktioniert gehe ich davon aus das die Pfade stimmen. Habe aber gerade die attributes mithilfe der jconsole (jdk) kontoliert, sieht alles gut aus.
Darunter verstehst du, das die war-Datei NICHT ausgepackt wird, oder?
Aber deine Konfiguration des Host sagt unpackWARs=true.
Wenn das alles zutrifft, würde ich versuchen einen zweiten virtuellen Host anzulegen, dessen appBase auf dein Verzeichnis (C:\temp\webapps\myApp) zeigt. Ich rate übrigens dazu, die context.xml INNERHALB der war-Datei unter /META-INF/context.xml zu packen.
Nun sollten war-Dateien im appBase des Host ausgepackt werden. Unter anderem wird die context.xml aus dem war nach C:\temp\webapps\myApp\conf\[enginename]/[hostname]\context.xml kopiert.
PS: Ich versuche immer eine Webapplikation laufen in "eingepackter" war-Form zu lassen. Das Entpacken ist bei mir ausgeschaltet und daher verstehe ich auch nicht, warum du die "exploded" Variante benötigst. Ist oft ein Hinweis auf suboptimaler Code:wink:
Wenn das alles zutrifft, würde ich versuchen einen zweiten virtuellen Host anzulegen, dessen appBase auf dein Verzeichnis (C:\temp\webapps\myApp) zeigt. Ich rate übrigens dazu, die context.xml INNERHALB der war-Datei unter /META-INF/context.xml zu packen.
Hört sich gut an, so kann ich das aber nicht machen, da ich nichts an der "Struktur" ändern will/kann/darf.
PS: Ich versuche immer eine Webapplikation laufen in "eingepackter" war-Form zu lassen. Das Entpacken ist bei mir ausgeschaltet und daher verstehe ich auch nicht, warum du die "exploded" Variante benötigst. Ist oft ein Hinweis auf suboptimaler Code
Keiner ist perfekt was . Ist aber IMHO kein Beinbruch, wenn man gewillt ist sich zu verbessern.
Ich werde jetzt versuchen die .war Datei "manuel" zu entpacken. Sollte denke ich möglich sein, Input-/Outputstream und das ganze in einer while, oder irre ich mich und kann das gleich sein lassen?
Hallo turtle,
danke für deine Hilfe.
Hab mir für's auspacken doch eine kleine java-routine gebastellt.
Wie du schon gesagt hast, war-Datein ist ja nichts anderes als eine zip-Datei, java-api war da sehr hilfreich.
Noch mal danke :toll: