JavaFX ist eine plattformübergreifende GUI-Bibliothek, die auf JVM ausgeführt wird. Die Bibliothek ist jedoch nicht mehr in Java 11 enthalten und wurde stattdessen als OpenJFX in eine externe Bibliothek umgewandelt.
Das Problem hier ist "Welche Java-Version unterstützen Sie?" Ich möchte Java 11 unterstützen, kann Java 8 jedoch nicht einfach abschneiden (Kostenlose Oracle-Updates für einzelne Benutzer werden bis Ende 2020 fortgesetzt java / eol-135779-ja.html)).
Die Lösung für dieses Problem ist Fat Jar, das einfach alle OpenJFX 11-Bibliotheken in die JAR-Datei enthält.
Details finden Sie unter Erste Schritte mit JavaFX 11> Laufzeitabbilder> Nicht modulares Projekt, jedoch mit Gradle (für normale JAR-Task-Einstellungen). (Zusätzlich) Fügen Sie die folgenden Spezifikationen hinzu.
build.gradle
compileOnly "org.openjfx:javafx-graphics:$javafx.version:win"
compileOnly "org.openjfx:javafx-graphics:$javafx.version:linux"
compileOnly "org.openjfx:javafx-graphics:$javafx.version:mac"
Und wenn Sie mit JDK11 bauen, haben Sie ein dickes Glas, das mit Java8 / 11 funktioniert.
Recommended Posts