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.