Intenté crear una aplicación JavaFX en IntelliJ Idea IDE pero obtuve un error de compilación que decía:
java: el paquete javafx.application no existe.
Cambié el SDK del proyecto y el nivel de lenguaje del proyecto a Java 8, recargué el proyecto, pero no ayudó. Luego verifiqué si el complemento JavaFX estaba habilitado en la configuración.
La búsqueda en Google y StackOverflow no me dio más ideas de lo que está mal. Gracias de antemano por cualquier ayuda.
PD: Estoy usando IntelliJ Idea 14.0 con java8.1.0_25 en archlinux OS.
java
intellij-idea
javafx
rob111
fuente
fuente
Respuestas:
Como se indica aquí , JavaFX ya no se incluye en openjdk.
Así que verifique, si tiene
<Java SDK root>/jre/lib/ext/jfxrt.jar
en su classpath debajoProject Structure -> SDKs -> 1.x -> Classpath
? Si no, esa podría ser la razón. Intente agregarlo y vea si eso soluciona su problema, por ejemplo, en Ubuntu, instale y luego abra el paquete consudo apt-get install openjfx
.fuente
Esta debería ser tu solución perfecta. Prueba y disfruta. Si algún comando no funciona correctamente, eso significa que si obtiene algún error, intente resolverlo usted mismo. Te he dado lo principal que necesitas. Si su aplicación está en una ubicación diferente, o la arquitectura de su sistema es diferente, resuélvala usted mismo. Es muy fácil hacerlo. Simplemente siga mi solución dada.
Paso 0:
sudo apt-get install openjdk-8-jre
Paso 1
Paso 2:
sudo cp /usr/share/java/openjfx/jre/lib/ext/* /usr/lib/jvm/java-1.8.0-openjdk-amd64/lib
Paso 3:
sudo cp /usr/share/java/openjfx/lib/* /usr/lib/jvm/java-1.8.0-openjdk-amd64/lib
Etapa 4:
sudo chmod 777 -R /usr/lib/jvm/java-1.8.0-openjdk-amd64
ahora abra un nuevo proyecto o reconstruya su proyecto. Buena suerte.
fuente
sudo chmod 777 -R /usr/lib/jvm/java-1.8.0-openjdk-amd64
es una mala idea! ¡No lo hagas!ls -lha
lo mostrará.Puede usar el que viene con IntelliJ:
<intellij>/jre64/lib/ext/jfxrt.jar
.fuente
Debe descargar el paquete java-openjfx de los repositorios oficiales de Arch Linux. (Además, asegúrese de tener el paquete openjdk8-openjdk). Después de hacer eso, abra su proyecto en Intellij y vaya a Project-Structure -> SDKs -> 1.8 -> Classpath e intente eliminar el antiguo JDK que tenía y haga clic en el directorio del nuevo JDK que ahora contendrá jfxrt.jar.
fuente
Es posible que tenga un nivel de idioma del proyecto más bajo que su JDK.
Compruebe si: "Projeckt structure / project / Project-> language level" es más bajo que su JDK. Tuve el mismo problema con JDK 9 y el nivel de idioma estaba configurado por defecto en 6.
Configuré el nivel de idioma del proyecto en 9 y todo funcionó bien después de eso.
Es posible que tenga el mismo problema.
fuente
Otra forma de resolver el problema: haga clic con el botón izquierdo del mouse en la carpeta del proyecto en la estructura del proyecto a la izquierda y haga clic en "abrir configuración del módulo" en la lista de acciones. En las nuevas ventanas, haga clic en SDK que está debajo del menú. title "Platform settngs" Luego verifique en la lista "Classpath" si puede encontrar la ruta del complemento jfxrt, de lo contrario, haga clic en el símbolo + a la derecha y seleccione el repertorio del complemento jfxrt (C: \ Archivos de programa \ Java \ jdk1.8.0 \ jre \ lib \ ext \ jfxrt.jar en mi escritorio)
fuente
Aplicación Java de muestra:
Estoy publicando mi respuesta de otra pregunta aquí, ya que está relacionada y también parece resolver el problema en la pregunta.
Aquí está mi proyecto de ejemplo con OpenJDK 12, JavaFX 12 y Gradle 5.4
Espero que alguien encuentre útil el proyecto Github.
Instrucciones para el estuche Scala :
Además, a continuación se muestran las instrucciones que funcionan con el complemento Gradle Scala , pero no parecen funcionar con Java . Dejo esto aquí en caso de que alguien más también esté usando Scala, Gradle y JavaFX.
1) Como se menciona en la pregunta, es necesario configurar el complemento JavaFX Gradle. Open JavaFX tiene documentación detallada sobre este
2) Además, necesita el SDK de JavaFX para su plataforma descomprimido en algún lugar. NOTA: asegúrese de desplazarse hacia abajo hasta la sección Últimas versiones donde está JavaFX 12 (LTS 11 es el primero por alguna razón).
3) Luego, en IntelliJ, vaya a
File -> Project Structure -> Libraries
, presione el botón ➕ y agregue lalib
carpeta del SDK JavaFX descomprimido.Para obtener instrucciones más largas con capturas de pantalla, consulte los excelentes documentos Open JavaFX para IntelliJ. No puedo hacer que funcione un enlace profundo, así que seleccione
JavaFX and IntelliJ
y luegoModular from IDE
desde la navegación de documentos. Luego, desplácese hacia abajo hasta el paso3. Create a library
. Considere revisar los otros pasos también si tiene problemas.Es difícil decir si esta es exactamente la misma situación que en la pregunta original, pero parecía lo suficientemente similar que llegué aquí, así que estoy agregando mi experiencia aquí para ayudar a otros.
fuente
En IntelliJ Idea,
Verifique que las siguientes cosas estén configuradas correctamente,
Paso 1:
Archivo -> Configuración -> Complementos -> busque javafx y asegúrese de que esté habilitado.
Paso 2: Estructura del proyecto (Ctrl + Shift + Alt + s)
Configuración de plataforma -> SDK -> 1.8 -> Asegúrese de que Classpath debe tener "jre \ lib \ ext \ jfxrt.jar"
Paso 3:
Configuración del proyecto -> Proyecto -> SDK del proyecto - debe seleccionarse 1.8
Configuración del proyecto -> Proyecto -> Nivel de idioma del proyecto - configurado como 8
Ubuntu: si no encuentra jfxrt.jar en sus SDK, instale sudo apt-get install openjfx
fuente
Tuve el mismo problema , en mi caso lo resolví por :
1) vaya a Archivo -> Estructura del proyecto ----> Bibliotecas globales 2) busque jfxrt.jar incluido por defecto en jdk1.8.0_241 \ lib (después de instalarlo) 3) haga clic en + en la parte superior izquierda para agregar nueva biblioteca global y especifiqué la ruta de mi jdk1.8.0_241 Ex: (C: \ Program Files \ Java \ jdk1.8.0_241).
Espero que esto ayude
fuente