Ich schreibe eine Anwendung mit JavaFX und bin besorgt über die Größe der .EXE-Datei, die ich nativ bereitstellen werde. Die Anwendung, die ich habe, ist nicht so groß (alles zusammen weniger als 5M), aber die Java-Runtime macht das endgültige installierte Verzeichnis weit über 100M, das in eine dividiblefähige 44M-Datei komprimiert wird.Reduzierung der Größe meiner nativ bereitgestellten JavaFX-Anwendung
Ich habe Tests mit 64-Bit-Windows (Java SE 8u77) ausgeführt. Um die endgültige ausführbare Datei kleiner zu machen habe ich Teile der JRE entfernt, die nicht notwendig sind, wie hier beschrieben: http://www.oracle.com/technetwork/java/javase/jre-8-readme-2095710.html
Hier ist, was ich gefunden habe:
- komplette JRE: 45.0 M
- Stripped JRE: 44.0 M
Hat jemand irgendwelche Ideen, wie man das verteilbare .EXE noch kleiner machen kann? Alle Informationen, die ich gefunden habe, sind mindestens 2 oder 3 Jahre alt und vielleicht nicht mehr so relevant. Ich habe das Gefühl, dass mehr aus der JRE kommen kann, aber es scheint, dass dies die Lizenzierung verletzen würde.
Hat jemand Erfahrung mit der Verwendung von Nicht-Oracle-Distributionen oder anderen Möglichkeiten, die JavaFX-App kleiner zu machen?
Was schlagen Sie vor? Proguard einfach gegen meine Anwendung zu laufen, ist sinnlos, weil es im Vergleich zur Java-Laufzeit so winzig ist. Hat jemand Erfahrung damit, die Java Runtime zu schrumpfen? Ist das sogar legal, was die Lizenz betrifft? –
Das Entfernen der JRE ist derzeit ein Verstoß gegen die Lizenzvereinbarung. Mit Java 9 (Projektpuzzle) wird es aber möglich sein. –
Java 9 ist ein Jahr weg. Gibt es heute etwas, was heute getan werden kann? –