Knowledge - SE-Tools
Automatisierung mit ANT
Ant ist ein in Java geschriebenes Werkzeug zum automatisierten Erzeugen nicht nur von Programmen aus Quelltexten, sondern auch für weitere Automatisierungsschritte, wie z.B. Kopieren von Dateien oder Dokumentation erstellen. Es ist bereits Bestandteil von Eclipse, so dass es nicht noch installiert werden muss. Gesteuert wird das Programm durch eine XML-Datei, meistens build.xml.
Erweiterte Konfiguration
Ant hat standardmäßig schon einige Funktionen implementiert, jedoch war für meinen Fall das erweitern durch Bibliotheken notwändig. Folgende Bibliotheken mussten heruntergeladen und in Eclipse eingebunden werden. Die Einbindung unter Eclipse tätigt man unter "Fenster" - "Benutzervorgaben" - "Ant" - "Laufzeit" - "Klassenpfad" - "JARs hinzufügen". Bei weiteren fehlenden Bibliotheken diese ebenfalls hinzufügen.
- Apache Commons Net
- Für die FTP-Unterstützung. Download-Link
- Apache ORO
- Ebenfalls für FTP notwändig. Download-Link
- AXIS Ant
- Für das Deploying. Die benötigte Bibliothek (axis-ant.jar) befindet sich mit Lieferumfang von AXIS.
NoteDie Einbindung des AXIS-Ant-Task hatte zwar funktioniert, jedoch brach der WebService mit einem TimeOut ab, so dass ich das Deployen über Telnet lokal auf dem Server starte.
Ant - build.xml
<?xml version="1.0"?>
<project name="Java WebService" default="telnet" basedir=".">
<property name="src" value="src"/>
<property name="bin" value="bin"/>
<path id="project.class.path">
<fileset dir="lib">
<include name="**/*.jar"/>
</fileset>
</path>
<!-- compile all java files -->
<target name="build">
<javac srcdir="${src}" debug="on" classpathref="project.class.path" optimize="false" includes="**/*.java" destdir="${bin}"/>
</target>
<!-- upload of the compiled java classes -->
<target name="ftp-upload" depends="build">
<ftp server="139.1.46.84" remotedir="/srv/www/tomcat/base/webapps/axis/WEB-INF/classes/..." userid="..." password="..." depends="yes" verbose="yes">
<fileset dir="bin/de/gedas/mobileoffice/webservices"/>
</ftp>
</target>
<!-- deploy WS and reload of tomcat by touch the web.xml -->
<target name="telnet" depends="ftp-upload, build">
<telnet userid="user" password="test" server="192.168.46.84">
<read>:~></read>
<write>cd /srv/www/tomcat/base/webapps/axis</write>
<read>axis></read>
<write>java org.apache.axis.client.AdminClient Addresses.wsdd</write>
<read>axis></read>
<write>touch WEB-INF/web.xml</write>
<read>axis></read>
</telnet>
</target>
</project>
Weitere Hilfe zu Ant findet sich wie immer im Internet zum Beipiel hier
CheckStyle
Checkstyle ist ein Tool für die Java-Entwicklung, welches den Quellcode nach Regeln durchsucht und evtl. Verstöße ausgibt. Solche Regeln sind zum Beispiel die Java Code Conventions. Checkstyle gibt es als PlugIn für verschiedene IDEs und als Ant-Task, was wohl in Projekten den praktischsten Ansatz bildet. Informationen zu Checkstyle
FindBugs
FindBugs ist ein ähnliches Tool wie Checkstyle und läßt sich wiederum als Ant-Task einbinden. Diesmal
wird jedoch nicht gegen Verstöße innerhalb der Codekonventionen gesucht, sondern nach potentiellen
Fehlerquellen. Dabei handelt es sich selbstverständlich um Fehlerquellen, die der Compiler nicht findet.
Solche bekannte Fehlermuster sind z. B. NullPointer Bugs oder nicht geschlossene Streams.
Informationen zu FindBugs

