Ambiente:
- OS: Para el desarrollo y ejecución de la aplicación, instalada se utilizará tanto para Windows 10 Pro (1809) y Linux (algo así como Ubuntu o Debian) con OpenJDK 1.8 y Maven.
- JDK: OpenJDK 1.8
- IDE: IntelliJ último
- Herramienta de construcción Maven (proyecto de varios módulos, un módulo utiliza JavaFX)
- Me gustaría mucho prefieren no utilizar cualquier cosa con una licencia de pago (a pesar de que, para este proyecto, que probablemente podría utilizar el JDK de Oracle de forma gratuita ...).
El problema:
Yo sé, que el JDK 1.8 se supone que vienen con JavaFX incluido. Sin embargo, para OpenJDK 1.8 esto, de alguna manera, no parece ser el caso (sin las dependencias de Maven, IntelliJ no acepta import javafx.application.Application;
ni ningún otro Jfx importaciones).
Por esta razón, estoy tratando de incluirlo como una dependencia Maven. Si utilizo:
<!-- JavaFX -->
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>11</version>
</dependency>
.
.
.
Consigo el mensaje de error siguiente:
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.
Uso de <version>12</version>
los rendimientos [...]wrong version 55.0, should be 52.0[...]
.
El más bajo <version>
, dentro de la Maven <dependency>
, estoy en condiciones de uso parece bo 11.
La pregunta:
- ¿Hay algo que se puede añadir / cambiar a mi
pom.xml
hacer mi compilación aplicación y ejecución? - ¿Me tienen una necesidad imperiosa de actualizar a OpenJDK 11 o 12?
En primer lugar, un poco de historia. A partir de Java 8 a Java 10, el JDK de Oracle solía venir con JavaFX. Sin embargo, incluso en estas versiones, JavaFX no es parte de la OpenJDK. A partir de Java 11, JavaFX no es también parte de Oracle JDK (como fue el caso con OpenJDK).
Así que, ¿Qué estás haciendo mal?
Usted está tratando de ejecutar JavaFX 11 y 12 con JDK 8. Esto no es posible.
¿Qué puedes hacer?
Obtener el openjfx 8. cualquiera puede construir desde la fuente o instalar a través de sudo apt-en Ubuntu.
JavaFX es 8 disponible como Maven dependencia?
¡No que yo sepa!
Mi consejo .. Uso de Oracle JDK si desea utilizar Java8 o actualizar a Java 11 y utilizar openJFX como Maven dependencia.