dependencia Maven para JavaFX 1.8 utilizando OpenJDK

Kaspar Johannes Schneider:

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.xmlhacer mi compilación aplicación y ejecución?
  • ¿Me tienen una necesidad imperiosa de actualizar a OpenJDK 11 o 12?
Gopal Krishna Char:

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.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=182299&siteId=1
Recomendado
Clasificación