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.
Note
Die 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

Zum Seitenanfang

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

Zum Seitenanfang

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

Zum Seitenanfang