Estoy funcionando con Linux Mint 19.1 y he instalado el entorno de ejecución OpenJDK. No tengo Eclipse instalado y esta pregunta , que no proporciona suficiente detalle para que quede claro lo que la pregunta de OP es en realidad, no parece particularmente relevante a pesar del título.
> java --version
OpenJDK Runtime Environment (build 11.0.3+7-Ubuntu-1ubuntu218.04.1)
OpenJDK 64-Bit Server VM (build 11.0.3+7-Ubuntu-1ubuntu218.04.1, mixed mode, sharing)
Desde la instalación de Java, también he instalado javafx
utilizando la información que encontré en Ask Ubuntu . apt
informa lo siguiente:
> sudo apt install openjdk-11-jdk openjfx
...
openjdk-11-jdk is already the newest version (11.0.3+7-1ubuntu2~18.04.1).
openjfx is already the newest version (11.0.2+1-1~18.04.2).
El problema ahora que estoy teniendo es que la línea import javafx;
se traduce en el siguiente error:
> java CheckJavaFX.java
CheckJavaFX.java:1: error: package javafx.application does not exist
import javafx.application.Application;
^
1 error
error: compilation failed
¿Cómo puedo solucionar el problema?
Sobre la base de lo que ha hecho:
sudo apt install openjdk-11-jdk openjfx
Ha instalado dos cosas diferentes:
Por un lado,
openjdk-11-jdk
se instala la última versión del JDK 11.0.3, en base a este detalle .Por otro,
openjfx
se instala JavaFX 11.0.2 de acuerdo con esta .
Si marca esta última, se le acaba descargando el SDK de JavaFX (los tarros de JavaFX y bibliotecas nativas) a un lugar determinado, pero no está empaquetando con el JDK.
Este explicar el error que se obtiene, como el JDK no tiene ningún módulo de JavaFX incluye:
de error: paquete de javafx.application no existe
Incluso si se intenta hacer una "fusión manual", copiando los archivos en la ubicación del JDK, que no va a funcionar bien.
Para utilizar JavaFX 11+ directamente desde el SDK, hay que añadir los frascos para el módulo de la ruta, como se explica en la documentación en https://openjfx.io/openjfx-docs/ .
Alternativamente, puede utilizar Maven o Gradle herramientas de construcción y los plugins JavaFX, que no requiere el SDK, y va a utilizar Maven central para recuperar los módulos de JavaFX.
Por último, si Sill desea utilizar JavaFX incluido con el JDK (sin ruta_módulo), se puede descargar ya sea una distribución diferente que los haces de TI (hay algunos por ahí), o se puede "fusión" del JDK y el JavaFX SDK de ti mismo, para producir una imagen personalizada que combina tanto, como se explica aquí: https://openjfx.io/openjfx-docs/#modular , sección de imagen personalizada JDK + JavaFX.