Manchmal muss es der Doppelklick sein

Posted October 2, 2007

Im Server-Bereich, in der Linux-Welt und auch sonst überall wo Techniker arbeiten, stellt das Ausführen von Java-Anwendungen oder Anwendungen, die in Scriptsprachen geschrieben sind, kein Problem dar. Allerdings ist der Durchschnitts-Windows-Benutzer manchmal doch von .class oder auch .jar-Dateien verwirrt oder weiß noch nicht einmal ob er denn Java installiert - geschweige denn wo. Auch wenn man für solche Fälle Batch-Scripte, wie beispielsweise in Form von .bat oder .sh-Dateien mitliefert, macht das dann keinen guten Eindruck.

Die Lösung: Die Java-Desktop-Anwendung einfach als EXE-Datei ausliefern. Dazu kann man entweder JSmooth benutzen oder aber launch4j (beides sind Sourceforge-Projekte unter sind unter der LGPL verfügbar).

JSmooth ist eher für denjenigen gedacht, der ein fertiges Projekt für Windows-Nutzer ausliefern möchte und bei der Konfiguration von einer GUI begleitet werden möchte. launch4j hingegen ist ein reines Konsolen-Werkzeug, dass aber durch die einfache Verwendung in einem Ant-Script eigentlich bei jeder kleinen bis mittelgroßen Java-Anwendung angebracht ist.

Wenn man sowieso bereits ein Ant-Buildfile hat, dann reichen folgende neun Zeilen aus, um eine vollkommen nativ-wirkende EXE-Datei bei jeder Kompilierung automatisch mitzuerstellen:

<taskdef name="launch4j" classname="net.sf.launch4j.ant.Launch4jTask" />
 
<launch4j>
    <config headerType="0" jar="MyApp.jar" outfile="MyApp.exe">
        <jre minVersion="1.5.0" />
    </config>
</launch4j>

(originally posted on 2007-10-03)