Der folgende Eintrag zeigt wie Ant aus einer WebApplikation eine *.war Datei backt und diese auf dem Tomcat deployt. Gehen wir davon aus das vorhergehende Task eine WebApplikation aus einem Svn-Server ausgecheckt und erofolgreich kompiliert haben. Der folgende Task baut eine *.war Datei.
<target name="buildWARFile" > <war destfile="${projectWARFile}" > <fileset refid="webContentFiles" /> <lib refid="libFiles" /> <classes refid="classesFiles" /> <webinf refid="webinfFiles" /> </war> </target>
Die Attribute “refid” verweisen alle auf “filesets” (siehe Ant-docu). Die eben generiert Datei wird mit dem nachfolgenden Task deployt.
<target name="deploy" > <exec executable="net" > <arg line='stop " Apache Tomcat 5.5.20 Server 3" ' /> </exec> <delete dir="${appHome}" /> <mkdir dir="${appHome}" /> <unwar src="${projectWARFile}" dest="${appHome}" /> <exec executable="net" > <arg line='start " Apache Tomcat 5.5.20 Server 3" ' /> </exec> </target>
Die erste Anweisung ruft das Kommandozeileninterface “net” auf mit den Uebergabeparametern ‘stop “Apache Tomcat 5.5.20 Server 3″‘. Das Kommandozeileninterface “net” steuert auf Windows Servern die Systemdienste. Damit das ganze funktioniert muss Tomcat als Windows Systemdienst installiert sein.
Sobald der Apache Tomcat heruntergefahren ist, werden mit den nachfolgenden Zeilen das Verzeichnis der Zielapplikation geloescht, ein neues Verzeichnis angelegt, die *.war Datei wird in das neu erstellte Verzeichnis entpackt und zum Schluss wird der Apache Tomcat als Systemdienst gestartet.
Der Vorgang kann ein bis zwei Minuten dauern, dannach sollte die Applikation zur Verfuegung stehen.
Auf einem Debian Linux System sieht der Task ähnlich aus.
<target name="deploy" > <exec executable="/opt/tomcat/bin/shutdown.sh" /> <delete dir="${appHome}" /> <mkdir dir="${appHome}" /> <unwar src="${projectWARFile}" dest="${appHome}" /> <exec executable="/opt/tomcat/bin/startup.sh" /> </target>