Web-Anwendungen mit Maven im Tomcat deployen
Im Moment experimentiere ich mit Web-Services und verwende dazu SpringWS. Dabei verwende ich Maven für die Abhängigkeiten und das Bauen. Wie bei den meisten Web-Service Libraries wird auch beim Einsatz von SpringWS ein Web-Anwendung entwickelt, die anschließend im Tomcat deployed wird. Gerade in der Entwicklung wird dieser Prozess sehr oft wiederholt und schreit förmlich nach Automatisierung.
Voraussetzungen
Für diesen Artikel gehe ich davon aus, dass bereits ein Tomcat von Apache heruntergeladen und entpackt wurde. Er muss bei Verwendung der Standardeinstellungen des Maven Tomcat-Plugins auf Port 8080 lauschen und die “manager” Anwendung muss auch installiert sein. Beides ist glücklicherweise auch der Standard für frisch heruntergeladene Binaries von Apache.
Zusätzlich wird vorausgesetzt, dass ein Benutzer admin existiert, der in der Rolle manager ist und ohne Password auf den Application Server zugreifen kann. Dazu folgenden Eintrag in conf/tomcat-users.xml aufnehmen:
Vorgang
Nun kann mit einem Terminal in das Verzeichnis des gewünschten Maven-Projektes gewechselt und die entsprechende Web-Application deployed werden.
mvn tomcat:deploy
Es muss zuvor auf jeden Fall sichergestellt werden, dass die Web-Anwendung nicht schon vorher deployed wurde und sich somit noch als laufende Anwendung im Container befindet. Bei Erfolg sollte man folgende Zeilen lesen und die Anwendung per Browser ansteuern können:
[INFO] [tomcat:deploy] [INFO] Deploying war to http://localhost:8080/calculator [INFO] OK - Deployed application at context path /calculator
Weitere Informationen finden sich in der Dokumentation zum verwendeten Tomcat-Plugin.