# Installer für Tomcat-Anwendung



## hardie82 (4. Mai 2010)

Hallo Leute,

da ich momentan an der Entwicklung einer Tomcat-Webanwendung sitze, die später beim Kunden ausgerollt werden soll, ist mir folgende Frage in den Sinn gekommen: 

Wie kann der Kunde selbst die Anwendung anhand eines Installers bei sich installieren?

Das Zielsystem ist ein Windowsserver, auf dem bereits Java und Tomcat installiert ist. Der Kunde soll dann die Anwendung anhand eines Install-Wizzard installieren. Folgende Schritte soll dabei vom Installer unternommen werden:

1. Verzeichnispfad des Tomcatservers abfragen
2. einige für die Webanwendung notwendigen Properties abfragen und daraus eine .propertie-Datei erstellen
3. mitgeliefertes WAR ins [1.]\webapps-Verzeichnis entpacken
4. Propertydatei ins Projektverzeichnis einfügen
(optional: 5. Tomcat als Service starten)

Zum einen was haltet ihr von der Idee und zum zweiten, hat sowas schon einmal jemand hier gemacht und kann mir einen Hinweis geben, wie ich da am besten rangehe? Gibt es eventuell schon einen Generator für sowas? Hab auch schon gegoogled und bin auf Apps wie NSIS oder launch4j gestoßen. Scheinen aber nicht ganz das zu erfüllen, was ich benötige. Die Anwendung muss auch nicht in der Registry, Startmenü etc. eingetragen werden.

Danke schonmal im voraus für jedes nützliche Posting.

Grüße
Hardie


----------



## maki (4. Mai 2010)

Hi Hardie,

keine so gute Idee IMHO 

Tomcat hat seine eigene Manager/Deployer App., der Tomcat Admin sollte aber auch selber in der Lage sein das War ins richtige Verzeichnis zu kopieren 

Es gibt doch einen Admin, oder? Ein Server ohne Admin ist 'ne Zeitbombe...


----------



## stephanm (4. Mai 2010)

Zwei Vorschläge:

1. Webbasierte Administrationsoberfläche. Der Kunde schmeisst das WAR-File in den Tomcat, startet den Apachen und konfiguriert nach Eurer Anleitung. Das funktioniert ausgezeichnet, wenn der Tomcat beim Kunden so vorkonfiguriert ist, dass nur noch applikationsinterne Einstellungen geändert werden müssen.

2. Einen konsolenbasierten Installer, den der Kunde mit java -jar ... aufruft. Konsolenbasiert ist halt nun mal am einfachsten. Der Installer fragt dann nach dem Pfad zum Tomcat und klappert dann interaktiv mit dem Admin des Kunden die Anleitung durch.


----------



## hardie82 (5. Mai 2010)

Danke für eure Hinweise. Mit dem Admin ist das so ne Sache. Die Anwendung soll beim Kunden lediglich fürs Intranet genutzt werden und der Verantworliche, mit dem ich zu tun habe, ist nicht direkt der Admin, macht dennoch die Installation etc.. Fragt mich nicht, wieso das so ist, da hab ich keinen Einblick. Deswegen ja das Installer-Tool .

Mit der Konsolen-basierten Lösung habe ich mir auch schon überlegt, es über ein cmd-Skript zu machen. Könnte für den (nennen wir ihn mal) "Admin" aber auch schon ein wenig "umständlich" sein. Wird mir also nocht anderes übrig bleiben, als kleinen Swing basierten Wizzard zusammen zu bauen, der den Anwender durch die einzelnen Schritte führt .

Grüße
Hardie


----------



## mvitz (5. Mai 2010)

Schonmal IzPack - Package once. Deploy everywhere. | IzPack angeschaut?


----------



## Noctarius (5. Mai 2010)

Wir nutzen in der Firma ein simples Shellscript welches per Cron aufgerufen wird.

Es überprüft ob in einem bestimmten Verzeichnis ein xyz.war liegt, wenn ja beendet es Tomcat, löscht das alte Webapp-Verzeichnis, löscht das entsprechende Workingdir und eventuelle Cache-Verzeichnisse, entpackt das War in das Tomcat-Webapp Verzeichnis und startet den Tomcat wieder


----------

