Modern Java Module-Based Packaging
Oracles Einstellung von Java Web Start hat Entwickler dazu gezwungen, neue Bereitstellungsmechanismen für JavaFX-Anwendungen einzuführen. Die Bereitstellung von JavaFX 11-Anwendungen erfordert die Bündelung mit einer JRE nach einem modularen Ansatz.
Erstellen eines Moduldeskriptors
Der erste Schritt besteht darin, Ihre Anwendung in ein Modul umzuwandeln Erstellen einer module-info.java-Datei mit einem eindeutigen Modulnamen.
module com.mcs75.businessapp { exports com.mcs75.desktop.businessapp; requires java.logging; requires transitive javafx.graphics; requires transitive javafx.controls; }
Kompilieren, Paketierung und JMod-Erstellung
Erstellen Sie unter Verwendung eines Modulpfads anstelle eines Klassenpfads. Erstellen Sie mit dem Befehl jar ein modulares JAR. Erstellen Sie dann einen JMOD mit dem JMOD-Tool des JDK.
javac -Xlint -g -d build/classes --module-path /opt/gluon-javafx/lib \ src/java/com/mcs75/desktop/businessapp/*.java jar -c -f build/mybusinessapp.jar -C build/classes . jmod create --class-path build/mybusinessapp.jar \ --main-class com.mcs75.desktop.businessapp.BusinessApplication \ build/modules/mybusinessapp.jmod
Verknüpfen des Bildes
Schließen Sie die Bereitstellung ab, indem Sie die Module und eine minimale JRE mit dem Befehl jlink zusammenstellen .
jlink --output build/image \ --module-path build/modules:/opt/gluon-javafx/lib \ --add-modules com.mcs75.businessapp \ --launcher MyBusinessApp=com.mcs75.businessapp
Verteilen der Anwendung
Verpacken und verteilen Sie den gesamten Bilddateibaum als zip oder tar.gz. Das ausführbare Skript, das Benutzer ausführen können, befindet sich im bin-Verzeichnis des Images.
Plattformübergreifende Bereitstellung
Um Images für andere Plattformen zu erstellen, geben Sie die Zielplattform im an jmod-Befehl mit der Option --target-platform und schließen Sie explizit das entsprechende jmods-Verzeichnis des JDK ein.
Dieser Ansatz bietet eine moderne und effiziente Möglichkeit, JavaFX 11-Desktopanwendungen mit einer JRE bereitzustellen, ohne auf abgekündigte Technologien wie Web Start angewiesen zu sein.
Das obige ist der detaillierte Inhalt vonWie stellt man eine JavaFX 11-Desktopanwendung mit einer JRE unter Verwendung moderner modularer Verpackungen bereit?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!