Launch4j – ein leichtgewichtiger Java-Starter für Windows
Gerade habe ich ein wenig mit Launch4j (http://launch4j.sourceforge.net/) experimentiert. Es ist ein (sehr leichtgewichtiger) Wrapper für Jar-Aufrufe, d.h. es verpackt ein Jar in einer ausführbaren Windows-Datei (exe), wobei man einige sinnvolle Einstellungen vornehmen kann, z.B.:
- Programm-Icon und Splash,
- Programmname, der auch im Taskmanager auftaucht (statt "java"),
- Verweis auf eine JRE, die automatisch zur Ausführung genommen wird,
- Main-Class, Classpath-Einträge und Kommandozeilenargumente des Jars,
- Registry-Einträge,
- ...
Alle notwendigen Ressourcen werden in eine Exe gepackt, man muss dann nur noch eine JRE hinzupacken und alles zippen – fertig ist die Dist. Und der Overhead ist gering (in dem Zip-Archiv ist noch die 1.4er JRE enthalten):
# l myapp*<br />-rw-r--r-- 1 drue users 13983944 2008-03-18 16:42 myapp-1.0.zip<br />-rwxr-xr-x 1 drue users 1892105 2008-03-18 16:41 myapp.exe*<br />-rw-r--r-- 1 drue users 1858825 2008-03-18 16:41 myapp.jar
Hier ein Beispiel für die Konfiguration, alles XML (ich habe die Launch4J-Dateien im Untervereichnis lib/launch4j abgelegt):
<launch4jConfig><br /> <dontWrapJar>false</dontWrapJar><br /> <headerType>gui</headerType><br /> <jar>myapp.jar</jar><br /> <outfile>myapp.exe</outfile><br /> <errTitle>My launch4J app</errTitle><br /> <cmdLine></cmdLine><br /> <chdir>.</chdir><br /> <priority>normal</priority><br /> <downloadUrl>http://java.com/download</downloadUrl><br /> <supportUrl></supportUrl><br /> <customProcName>true</customProcName><br /> <stayAlive>false</stayAlive><br /> <manifest>lib/launch4j/manifest/xp-themes.exe.manifest</manifest><br /> <icon>resources/myapp.ico</icon><br /> <jre><br /> <path>jre</path><br /> <minVersion>1.4.0</minVersion><br /> <maxVersion></maxVersion><br /> <jdkPreference>preferJre</jdkPreference><br /> </jre><br /> <splash><br /> <file>resources/splash.bmp</file><br /> <waitForWindow>true</waitForWindow><br /> <timeout>60</timeout><br /> <timeoutErr>true</timeoutErr><br /> </splash><br /></launch4jConfig>
Für die Konfiguration wird auch eine GUI mitgeliefert. Der Screenshot ist unten angehängt. Die JRE wird im Unterverzeichnis JRE erwartet.
Die Integration von Launch4J in ein Java-Projekt mit Ant und build.xml ist auch ganz einfach. Launch4J bringt einen Ant-Task mit, der im Build-Skript angemeldet werden muss:
<target name="exe" depends="jar" description="Create a selfcontaining executable"><br /> <taskdef name="launch4j" classname="net.sf.launch4j.ant.Launch4jTask"<br /> classpath="${launch4j.dir}/launch4j.jar:${launch4j.dir}/lib/xstream.jar" /><br /> <launch4j configFile="${basedir}/myapp.xml" /><br /></target>Nun gibt es ja noch das EclipseNSIS-Projekt zum Erstellen eines Installers für Eclipse-Anwendungen. Der Launch4J-Ansatz kann gewählt werden, wenn für das Projekt kein Installer benötigt wird und der Aufwand für Entwicklung und Testen der Installation so minimal bleibt. Mit Launch4J liefert man ein Zip-Archiv. Und das war in einer Stunde erstellt.
Keine verwandten Beiträge.




Follow me!