I'm trying to run a JavaFX application in IntelliJ. Environment - Ubuntu 18.04. Java - 11.
But it gives me error saying :
Error occurred during initialization of boot layer
java.lang.module.FindException: Module javafx.controls not found
Whole command in the run-console :
/usr/lib/jvm/java-1.11.0-openjdk-amd64/bin/java --module-path /home/mua/Software/javafx_sdk-1_3_1-b05a-linux-i586/javafx-sdk1.3/lib --add-modules=javafx.controls,javafx.fxml -Djava.library.path=/home/mua/Software/javafx_sdk-1_3_1-b05a-linux-i586/javafx-sdk1.3/lib -javaagent:/home/mua/Software/ideaIU-2020.3.1/idea-IU-203.6682.168/lib/idea_rt.jar=41593:/home/mua/Software/ideaIU-2020.3.1/idea-IU-203.6682.168/bin -Dfile.encoding=UTF-8 -classpath /home/mua/Desktop/PhotoSlide/PhotoSlide/target/classes:/home/mua/.m2/repository/org/openjfx/javafx-base/16-ea+7/javafx-base-16-ea+7.jar:/home/mua/.m2/repository/org/openjfx/javafx-base/16-ea+7/javafx-base-16-ea+7-linux.jar:/home/mua/.m2/repository/org/openjfx/javafx-fxml/16-ea+7/javafx-fxml-16-ea+7.jar:/home/mua/.m2/repository/org/openjfx/javafx-fxml/16-ea+7/javafx-fxml-16-ea+7-linux.jar:/home/mua/.m2/repository/org/openjfx/javafx-graphics/16-ea+7/javafx-graphics-16-ea+7.jar:/home/mua/.m2/repository/org/openjfx/javafx-graphics/16-ea+7/javafx-graphics-16-ea+7-linux.jar:/home/mua/.m2/repository/org/openjfx/javafx-media/16-ea+7/javafx-media-16-ea+7.jar:/home/mua/.m2/repository/org/openjfx/javafx-media/16-ea+7/javafx-media-16-ea+7-linux.jar:/home/mua/.m2/repository/org/openjfx/javafx-controls/16-ea+7/javafx-controls-16-ea+7.jar:/home/mua/.m2/repository/org/openjfx/javafx-controls/16-ea+7/javafx-controls-16-ea+7-linux.jar:/home/mua/.m2/repository/org/openjfx/javafx-swing/16-ea+7/javafx-swing-16-ea+7.jar:/home/mua/.m2/repository/org/openjfx/javafx-swing/16-ea+7/javafx-swing-16-ea+7-linux.jar:/home/mua/.m2/repository/org/controlsfx/controlsfx/11.0.2/controlsfx-11.0.2.jar:/home/mua/.m2/repository/org/kordamp/ikonli/ikonli-core/12.1.0/ikonli-core-12.1.0.jar:/home/mua/.m2/repository/org/kordamp/ikonli/ikonli-javafx/12.1.0/ikonli-javafx-12.1.0.jar:/home/mua/.m2/repository/org/kordamp/ikonli/ikonli-themify-pack/12.1.0/ikonli-themify-pack-12.1.0.jar:/home/mua/.m2/repository/org/kordamp/ikonli/ikonli-fontawesome-pack/12.1.0/ikonli-fontawesome-pack-12.1.0.jar:/home/mua/.m2/repository/com/github/dragon66/icafe/1.1-SNAPSHOT/icafe-1.1-20190902.150913-102.jar:/home/mua/.m2/repository/com/github/jai-imageio/jai-imageio-core/1.4.0/jai-imageio-core-1.4.0.jar:/home/mua/.m2/repository/com/twelvemonkeys/imageio/imageio-core/3.6/imageio-core-3.6.jar:/home/mua/.m2/repository/com/twelvemonkeys/common/common-lang/3.6/common-lang-3.6.jar:/home/mua/.m2/repository/com/twelvemonkeys/common/common-io/3.6/common-io-3.6.jar:/home/mua/.m2/repository/com/twelvemonkeys/common/common-image/3.6/common-image-3.6.jar:/home/mua/.m2/repository/com/twelvemonkeys/imageio/imageio-tiff/3.6/imageio-tiff-3.6.jar:/home/mua/.m2/repository/com/twelvemonkeys/imageio/imageio-psd/3.6/imageio-psd-3.6.jar:/home/mua/.m2/repository/com/twelvemonkeys/imageio/imageio-metadata/3.6/imageio-metadata-3.6.jar:/home/mua/.m2/repository/org/slf4j/slf4j-simple/2.0.0-alpha1/slf4j-simple-2.0.0-alpha1.jar:/home/mua/.m2/repository/org/slf4j/slf4j-api/2.0.0-alpha1/slf4j-api-2.0.0-alpha1.jar:/home/mua/.m2/repository/com/h2database/h2/1.4.200/h2-1.4.200.jar:/home/mua/.m2/repository/org/ejml/ejml-simple/0.40/ejml-simple-0.40.jar:/home/mua/.m2/repository/org/ejml/ejml-core/0.40/ejml-core-0.40.jar:/home/mua/.m2/repository/javax/media/jai/com.springsource.javax.media.jai.core/1.1.3/com.springsource.javax.media.jai.core-1.1.3.jar:/home/mua/.m2/repository/org/projectlombok/lombok/1.18.16/lombok-1.18.16.jar:/home/mua/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.12.0/jackson-databind-2.12.0.jar:/home/mua/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.12.0/jackson-annotations-2.12.0.jar:/home/mua/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.12.0/jackson-core-2.12.0.jar org.photoslide.App
And I've added the VM with :
--module-path /home/mua/Software/javafx_sdk-1_3_1-b05a-linux-i586/javafx-sdk1.3/lib --add-modules=javafx.controls,javafx.fxml
And added libraries too :
Source code : https://github.com/maifeeulasad/PhotoSlide
Java configurations :
>>java --version
openjdk 11.0.10 2021-01-19
OpenJDK Runtime Environment (build 11.0.10+9-Ubuntu-0ubuntu1.18.04)
OpenJDK 64-Bit Server VM (build 11.0.10+9-Ubuntu-0ubuntu1.18.04, mixed mode, sharing)
>>javac --version
javac 11.0.10
2条答案
按热度按时间vlju58qv1#
据我所知,你正在使用Non-modular with Maven。
我自己按照上面链接中提供的说明从头开始构建了一个,并注意到用黄色标记的图片。
有两个环境变量需要为OpenJDK设置。一个在你的系统(例如,
./bashrc
文件)和一个在IntelliJ for Maven中(如果您使用Java 11或更高版本,在这种情况下)。根据你的帖子,我知道你的系统中有一个,但它没有提到这张照片中的一个,所以一定要这样做。
另外,请注意,我没有设置任何VM选项!
上面的链接指出:
JavaFX类将被识别。还请注意,Maven管理所需的依赖项:它将添加
javafx.controls
和javafx.fxml
所需的javafx.base
和javafx.graphics
,但最重要的是,它将根据您的平台添加所需的分类器,下载特定的平台jar。这是我的
pom.xml
文件(在制作项目时由IntelliJ自动生成):我强烈建议查看我发布的链接。你可能漏掉了什么。如果没有,那么一定要尝试创建一个新的测试项目,按照说明,看看它是否工作。如果是这样的话,把它和你现在的项目进行比较。
抱歉,我帮不上什么忙。我不和玛文一起工作
g0czyy6m2#
在IntelliJ IDEA中,如果你想创建一个maven项目,它将在1.8之后的java版本中使用javaFx库,你必须:
4.0.0
要运行一个Maven目标,比如“javafx:run”,您确实需要访问右侧的“Maven”选项卡。这将打开IDE右侧的Maven工具窗口。在“Maven”工具窗口中,您可以**展开您的项目以查看“插件”和“插件”下的所有可用目标。要运行“javafx:run”,您应该展开您的项目,转到“插件”,然后找到“javafx "。
**右键单击“javafx:run”并选择“Run 'javafx:run'"。**这将使用适当的Maven配置执行JavaFX应用程序。
您还可以为特定的Maven目标**配置快捷方式,包括您提到的“javafx:run”。这可以通过右键单击目标并选择第二选择来完成:“'someName [javafx:run'."**创建后,您可以使用快捷方式(例如,Shift + F10)在将来运行它。
在成功运行“javafx:run”之后,您应该看到没有错误的JavaFX应用程序窗口,前提是您的项目和配置设置正确。