Inselupdate: Native Compiler und Wrapper
Native Compiler
Eine in Java geschriebene Applikation lässt sich erst einmal nur mit einer Java Laufzeitumgebung ausführen. Einige Hersteller haben jedoch Compiler entwickelt, die direkt unter Windows oder einem anderen Betriebssystem ausführbare Programme erstellen. Die Compiler, die aus Java-Quelltext – oder Java-Bytecode – Maschinencode der jeweiligen Architektur erzeugen, nennen sich native oder Ahead-Of-Time Compiler. Das Ergebnis ist eine direkt ausführbare Datei, die keine Java Laufzeitumgebung nötig macht. Je nach Anwendungsfall kann das Programm performanter sein, eine Garantie ist es allerdings nicht. Die Startzeiten sind im Allgemeinen geringer und das Programm ist viel schwieriger zu entschlüsseln, was das Reverse Engineering angeht.
Ein freier Compiler unter der GNU-Lizenz ist gcj (http://gcc.gnu.org/java/); ein kommerzieller Vertreter ist Excelsior JET (http://www.excelsior-usa.com/jet.html). Das viele Hersteller ihre Produkte einstellt haben, ist sicherlich ein Zeichen dafür, dass die existierenden Laufzeitumgebungen mittlerweile ausreichende Geschwindigkeit, Speicherverbrauch und Startzeiten zeigen.
Einpacken von Java-Programmen
Wer Java-Programme vertreibt, weiß um das Problem der JVM-Versionen, Pfade, Start-Icon, Splash-Screen und so weiter. Eine Lösung ist, einen Wrapper zu bemühen, der sich als ausführbares Programm wie eine Schale um das Java-Programm legt. Der Wrapper ruft die virtuelle Maschine auf und übergibt ihr die Klassen. Es ist also immer noch eine Laufzeitumgebung nötig, doch lassen sich den Java-Programmen Icons mitgeben und Startparameter setzen.
Die Open-Source-Software JSmooth (http://jsmooth.sourceforge.net/) kapselt ein Java-Archiv mit Klassen und Ressource-Dateien in eine komprimiertes, ausführbares Exe-Programm. JSmooth setzt Eigenschaften wie ein assoziiertes Icon oder Startvariablen mit einer angenehmen grafischen Oberfläche. Ein weiteres Programm ist launch4j (http://launch4j.sourceforge.net/), welches startbare Java-Programme für Windows, Linux, Mac OS X, Solaris erzeugt. Beide sind in Ant einsatzfähig.
Eine in Java geschriebene Applikation lässt sich erst einmal nur mit einer Java Laufzeitumgebung ausführen. Einige Hersteller haben jedoch Compiler entwickelt, die direkt unter Windows oder einem anderen Betriebssystem ausführbare Programme erstellen. Die Compiler, die aus Java-Quelltext – oder Java-Bytecode – Maschinencode der jeweiligen Architektur erzeugen, nennen sich native oder Ahead-Of-Time Compiler. Das Ergebnis ist eine direkt ausführbare Datei, die keine Java Laufzeitumgebung nötig macht. Je nach Anwendungsfall kann das Programm performanter sein, eine Garantie ist es allerdings nicht. Die Startzeiten sind im Allgemeinen geringer und das Programm ist viel schwieriger zu entschlüsseln, was das Reverse Engineering angeht.
Ein freier Compiler unter der GNU-Lizenz ist gcj (http://gcc.gnu.org/java/); ein kommerzieller Vertreter ist Excelsior JET (http://www.excelsior-usa.com/jet.html). Das viele Hersteller ihre Produkte einstellt haben, ist sicherlich ein Zeichen dafür, dass die existierenden Laufzeitumgebungen mittlerweile ausreichende Geschwindigkeit, Speicherverbrauch und Startzeiten zeigen.
Einpacken von Java-Programmen
Wer Java-Programme vertreibt, weiß um das Problem der JVM-Versionen, Pfade, Start-Icon, Splash-Screen und so weiter. Eine Lösung ist, einen Wrapper zu bemühen, der sich als ausführbares Programm wie eine Schale um das Java-Programm legt. Der Wrapper ruft die virtuelle Maschine auf und übergibt ihr die Klassen. Es ist also immer noch eine Laufzeitumgebung nötig, doch lassen sich den Java-Programmen Icons mitgeben und Startparameter setzen.
Die Open-Source-Software JSmooth (http://jsmooth.sourceforge.net/) kapselt ein Java-Archiv mit Klassen und Ressource-Dateien in eine komprimiertes, ausführbares Exe-Programm. JSmooth setzt Eigenschaften wie ein assoziiertes Icon oder Startvariablen mit einer angenehmen grafischen Oberfläche. Ein weiteres Programm ist launch4j (http://launch4j.sourceforge.net/), welches startbare Java-Programme für Windows, Linux, Mac OS X, Solaris erzeugt. Beide sind in Ant einsatzfähig.
