JavaFX est une bibliothèque d'interface graphique multiplateforme qui s'exécute sur JVM. Cependant, depuis Java 11, la bibliothèque n'est plus incluse, et à la place, elle a été transformée en une bibliothèque externe sous le nom OpenJFX.
Le problème ici est "Quelle version de Java supportez-vous?" Je souhaite prendre en charge Java 11, mais je ne peux pas facilement tronquer Java 8 (Les mises à jour Oracle gratuites pour les utilisateurs individuels continueront jusqu'à la fin de 2020 java / eol-135779-ja.html)).
La solution à ce problème est fat jar, qui inclut simplement toutes les bibliothèques OpenJFX 11 dans le fichier jar.
Les détails peuvent être trouvés dans Getting Started with JavaFX 11> Runtime images> Non-Modular project, mais avec Gradle (pour les paramètres de tâche Jar normaux) (De plus) Ajoutez les spécifications suivantes.
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"
Et si vous construisez avec JDK11, vous aurez un gros pot qui fonctionne à la fois avec Java8 / 11.
Recommended Posts