Dienstag, 25. Dezember 2012

Java-Anwendung unter Windows Starten

Das alte Lied. Wenn man sich eine bat-Datei schreibt, die den Java-Programmaufruf enthält, erscheint auch immer das ungeliebte Dos-Fenster, das bestenfalls die Programm-Ausgabe anzeigt, wenn diese nicht ohnehin in eine Log-Datei umgeleitet wird.

Alternativ gibt es exe-Starter, die genau dies vermeiden. Außerdem klicken Windows-Benutzer gern auf exe-Dateien. Sehr gut eignet sich dafür das Projekt Janel. Einfach die Janel exe-Datei umbenennen, eine gleichnamige Konfigurationsdatei daneben legen und schon ist die exe zum Anklicken fertig. Janel gibt es in 32 und 64 bit, was Feature und  Problem in einem darstellt. Hat der Benutzer auf seinem 64 bit Windows ein 32 bit Java installiert, funktioniert der Starter für 32 bit, jedoch der für 64 bit nicht mehr. Es ist bei nativen Bestandteilen immer die Java-Version und nicht das Betriebssystem ausschlaggebend. Das gilt übrigens auch bei nativen Java-Bibliotheken, wie SWT. Den meisten Benutzern ist dieser Umstand wohl kaum bewusst.

Nach bat und exe bleibt noch VB-Script, das ebenfalls nur angeklickt werden braucht und einfach startet. Weil VB-Script auf das gleiche Windows-Framework zugriff hat, wie auch eine native exe-Datei, lässt sich eben auch damit ein Starter schreiben. Einer, der auch ohne DOS-Fenster auskommt. Weil ich das kürzlich gebastelt habe, hier der VB-Code.

Option Explicit

Dim strArguments, wshShell

strArguments = "java -Djava.class.path=.\app.jar; org.test.App"

Set wshShell = CreateObject( "WScript.Shell" )
wshShell.Run Trim( strArguments ), 0, False
Set wshShell = Nothing


Nur noch die Java-Startparameter anpassen und alles in eine Datei mit vbs-Endung speichern.