He seguido un tutorial con precisión y me parece que no puede conseguir que funcione. El tutorial está bajo JavaFX and Intellij
Non-modular from IDE
secciones: https://openjfx.io/openjfx-docs/#install-java
Aquí está el mensaje de error que recibo al intentar ejecutar el proyecto Idea JavaFX predeterminado Intellij:
"C:\Program Files\Java\jdk-11.0.1\bin\java.exe" --module-path %PATH_TO_FX% --add-modules=javafx.controls,javafx.fxml --add-modules javafx.base,javafx.graphics --add-reads javafx.base=ALL-UNNAMED --add-reads javafx.graphics=ALL-UNNAMED "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2018.3\lib\idea_rt.jar=53491:C:\Program Files\JetBrains\IntelliJ IDEA 2018.3\bin" -Dfile.encoding=UTF-8 -classpath "C:\Users\jonat\IdeaProjects\Tawe-Lib FX\out\production\Tawe-Lib FX;C:\Program Files\Java\javafx-sdk-11.0.1\lib\src.zip;C:\Program Files\Java\javafx-sdk-11.0.1\lib\javafx-swt.jar;C:\Program Files\Java\javafx-sdk-11.0.1\lib\javafx.web.jar;C:\Program Files\Java\javafx-sdk-11.0.1\lib\javafx.base.jar;C:\Program Files\Java\javafx-sdk-11.0.1\lib\javafx.fxml.jar;C:\Program Files\Java\javafx-sdk-11.0.1\lib\javafx.media.jar;C:\Program Files\Java\javafx-sdk-11.0.1\lib\javafx.swing.jar;C:\Program Files\Java\javafx-sdk-11.0.1\lib\javafx.controls.jar;C:\Program Files\Java\javafx-sdk-11.0.1\lib\javafx.graphics.jar" sample.Main
Error occurred during initialization of boot layer
java.lang.module.FindException: Module javafx.base not found
Process finished with exit code 1
Esto tiene poco sentido para mí que puedo ver javafx.base
debajo lib
de la barra lateral:
El camino que conduce a jdk-11.0.1
y javafx-sdk-11.0.1
:
C: \ Archivos de programa \ Java
Java está instalado:
C:\Users\jonat>java --version
openjdk 11.0.1 2018-10-16
OpenJDK Runtime Environment 18.9 (build 11.0.1+13)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.1+13, mixed mode)
JAVA_HOME
variable (mencionado en la guía) se establece:
C:\Users\jonat>echo %JAVA_HOME%
C:\Program Files\Java\jdk-11.0.1
PATH_TO_FX
variable se establece:
C:\Users\jonat>echo %PATH_TO_FX%
C:\Program Files\Java\javafx-sdk-11.0.1\lib
Tengo realmente ninguna idea de dónde ir desde aquí. He seguido el tutorial con precisión, y no funciona. Cualquier ayuda sería muy apreciada y si necesita más información por favor, simplemente introduce un comentario al respecto.
Sobre la base de la línea de comandos publicado, esto es lo que IntelliJ se aplica para ejecutar el proyecto:
"C:\Program Files\Java\jdk-11.0.1\bin\java.exe" --module-path %PATH_TO_FX% --add-modules=javafx.controls,javafx.fxml
Así que la cuestión es muy clara: En las opciones de VM ha configurado pie de la letra lo que el tutorial dice:
Pero no ha aplicado el camino real para PATH_TO_FX
, como se sugiere en la imagen insertada después de ese comando en el tutorial:
IntelliJ no resuelve esa variable y la ruta del módulo no se ha establecido, por lo tanto, se obtiene el error de esperar que revela que no se encuentran los módulos de JavaFX:
Error occurred during initialization of boot layer
java.lang.module.FindException: Module javafx.controls not found
Solución
Esto se puede solucionar de dos maneras:
- Aplique su trayectoria:
Editar ejecutar configuraciones, y en la VM opciones añada su trayectoria:
--module-path "C:\Program Files\Java\javafx-sdk-11.0.1\lib" --add-modules=javafx.controls,javafx.fxml
Aplicar y ejecutar. Deberia de funcionar.
- Añadir la variable de entorno
También puede establecer una variable de entorno. Ir a IntelliJ->File->Settings->Appearance & Behavior->Path Variables
, y añadir PATH_TO_FX
, con la ruta de la lib
carpeta:
Y a continuación, puede utilizar los literales $PATH_TO_FX$
o ${PATH_TO_FX}
en las opciones de VM:
--module-path ${PATH_TO_FX} --add-modules=javafx.controls,javafx.fxml
Aplicar y ejecutar.
Tenga en cuenta que esta es una solución más permanente que puede ser aplicable a cualquier otro proyecto JavaFX.