Über Java Web Start hinausgehen
Mit der Einstellung von Web Start durch Oracle Java 11, Entwickler suchen nach alternativen Bereitstellungsmethoden für JavaFX-Anwendungen. Da die JRE-Bündelung zur empfohlenen Lösung wird, stellt sich die Frage: Wie lässt sich dies nahtlos in den Bereitstellungsprozess integrieren?
Modulare Anwendungen erstellen
Der Schlüssel zur Bereitstellung von JavaFX-Anwendungen mit Eine JRE besteht darin, die Anwendung in ein Modul umzuwandeln. Dazu gehört das Erstellen einer Moduldeskriptordatei (module-info.java), das Angeben eines Modulpfads während der Kompilierung und das Erstellen einer modularen JAR-Datei mit dem JMOD-Tool.
Erstellen eines Bildes
Das modulare JAR wird dann mit jlink mit den benötigten Modulen verknüpft, um ein Image zu erstellen. Ein Bild ist ein Dateibaum, der ein bin-Verzeichnis mit ausführbaren Dateien enthält. Das ausführbare Skript gibt das auszuführende Modul an.
Verteilen des Bildes
Der Bilddateibaum sollte an Endbenutzer verteilt werden. Dies kann als ZIP- oder TAR.GZ-Datei gepackt werden. Java 14 führt das jpackage-Tool ein, mit dem native Installationsprogramme für das Image erstellt werden können.
Cross-Building für verschiedene Plattformen
Da das Image native Binärdateien enthält, müssen separate Images erstellt werden für jede Plattform erstellt werden. Um zu vermeiden, dass für jede Plattform einzeln erstellt wird, können Sie jmod und jlink eines anderen JDK verwenden, um ein Image für eine andere Plattform zu erstellen, indem Sie deren Plattformzeichenfolge mit der Option --target-platform angeben.
Fazit
Die Bereitstellung von JavaFX 11-Desktopanwendungen mit einer JRE ist jetzt möglich, indem die Anwendung in ein Modul konvertiert und ein Image erstellt wird. Dies ermöglicht eine einfache Verteilung und Aktualisierung und gewährleistet ein nahtloses Benutzererlebnis.
Das obige ist der detaillierte Inhalt vonWie kann ich meine JavaFX 11-Desktopanwendung ohne Java Web Start verteilen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!