Native Java Applikation mit Launch4j

Native Java Applikation mit Launch4j

Mit dem Open Source Tool Launch4j können Sie Java Anwendungen Systemunabhängig ausführen. Wie das gemacht wird und was zu beachten ist, möchte ich hier beschreiben.

Das Java Build Tool Launch4j erschien erstmalig 2004. Der Einsatz des schmalen Wrappers eignet sich beim deployen von Java Anwendungen für nicht homogene oder nicht bekannte Zielsysteme. Der eigenen Anwendung kann die richtige Umgebung, welche sie zur Laufzeit verwenden soll, gleich mitgegeben werden und muss somit nicht auf veränderte Systemeigenschaften reagieren.

Das Problem kennt wohl jeder. Man will seine Eigenentwicklung dem besten Freund oder Freundin vorstellen, auf einem Geschäftstermin das brandneue Produkt präsentieren bzw. gleich als Demo oder Komplettversion beim interessierten Kunden integrieren. Was einfach beginnt, wird schnell zu einer Tortur durch System und Umgebung.

Für einen schnellen Start sind die Voraussetzungen denkbar gering. Dem Tool muss nur ein Java gezeigt werden, was der Entwickler eh bereits besitzen bzw. durch verschiedene andere Anwendungen auf dem Rechner geparkt hat. Optional lassen sich aber auch genaue Versionen aus dem Netz beziehen, sollte die Anwendung beispielsweise mit einem Java 1.6 ausgeliefert werden. Grundlegend soll eine ausführbare Datei erzeugt werden. In dieser wird das zu verwendende JRE(Java Runtime Environment) beschrieben. Optimal liegt dieses in einem lokalen Ordner bei der Anwendung oder muss entsprechend durch einen inkrementellen Pfad definiert werden.

Launch4j2

Das erzeugte exe-File wird später den Befehl <jre-path>\java –jar <application.jar> ausführen und Ihre Anwendung damit unabhängig von Umgebungsvariablen wie JAVA_HOME und möglichen Versionskonflikten in der eigens ausgewählten Java-Umgebung ausgeführen. Als zweite ents cheidende Komponente wird nur noch der Pfad(siehe Abb. 1) zur eigentlichen Java Applikation benötigt, welche am besten ebenfalls lokal abgelegt ist.

.jar or .war

Nicht gleich ersichtlich aber verständlich ist, dass sich die gezippten Web Application Archivs (.war) gleichermaßen erweitern lassen. Ein wesentlicher Unterschied der beiden Archive besteht im Inhalt und der Bibliotheken. Web Archive werden in Servlet Containern wie Tomcat oder Jetty deployed und beinhalten daher u.a. auch JSP, HTML und JavaScript. Sie sind jedoch gleichermaßen Java Anwendungen und werden innerhalb von Launch4j entsprechend gleich behandelt.

Launch4j1

In so einem Fall ist dem „Jar runtime path“ die entsprechende war-Datei mitzugeben. Meine Empfehlung ist es, den Haken für „launch only“ zu setzen. So bleibt die Application(jar/war) selbst unberührt vom Wrapper und kann leichter für andere Bestriebssysteme wie Mac O S oder Linux verwendet werden. Das JRE wird über die Executable beschrieben. So könnte beispielsweise analog hierzu noch ein Shell Skript(.sh) für andere Systeme erzeugt werden.

Launch4j besitzt einiges mehr an Features, wie eigene Programm-Icons und Splashes, Classpath-Einträge oder Kommandozeilenargumente. Ausreichend für einen simplen Start sind jedoch die beschrieben Konfigurationen und Bedingungen.

Erweiterte Themen können in den Kommentaren behandelt werden bzw. in einem weiteren Abschnitt vorgestellt werden. Nehmen Sie direkt Kontakt mit uns auf, um eine individuelle Einschätzung mit unserem Fachpersonal zu erarbeiten.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*

* Copy This Password *

* Type Or Paste Password Here *