Environnement:
Le problème:
Je sais que le JDK 1.8 est censé venir avec JavaFX inclus. Cependant, pour OpenJDK 1.8, cela ne semble pas être le cas (sans les dépendances Maven, IntelliJ n'accepte pas import javafx.application.Application;
ni aucune autre importation JFX).
Pour cette raison, j'essaie de l'inclure en tant que dépendance Maven. Si j'utilise:
<!-- JavaFX -->
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>11</version>
</dependency>
.
.
.
Je reçois le message d'erreur suivant:
Error:(3, 26) Java: cannot access javafx.application.Application
bad class file: /C:/Users/kaspa/.m2/repository/org/openjfx/javafx-
graphics/11/javafx-graphics-11-win.jar!/javafx/application/Application.class
class file has wrong version 54.0, should be 52.0
Please remove or make sure it appears in the correct subdirectory of the
classpath.
En utilisant <version>12</version>
donne [...]wrong version 55.0, should be 52.0[...]
.
Le plus bas <version>
, à l'intérieur du Maven <dependency>
, Je suis capable d'utiliser semble bo 11.
La question:
pom.xml
pour compiler et exécuter mon application?D'abord, un peu de contextualisation. De Java 8 à Java 10, le JDK Oracle était fourni avec JavaFX. Mais, même dans ces versions, JavaFX ne fait pas partie de OpenJDK. De Java 11, JavaFx ne fait pas non plus partie du JDK Oracle (comme ce fut le cas avec OpenJDK).
Alors, Que faites-vous de mal?
Vous essayez d'exécuter JavaFX 11 et 12 avec JDK 8. Ce n'est pas possible.
Que pouvez-vous faire?
Obtenez le openjfx 8. Vous pouvez soit les construire à partir de source ou l'installer via Sudo-apt sur Ubuntu.
JavaFX 8 est-il disponible en tant que dépendance Maven?
Pas que je sache!
Mon conseil .. Utilisez Oracle JDK si vous souhaitez utiliser Java8 ou passer à Java 11 et utiliser openJFX comme dépendance Maven.