英文:
Caused by: java.lang.NoClassDefFoundError: javafx/application/Application
问题
在IntelliJ中将我的JavaFX应用程序构建为JavaFX应用程序,并在控制台中使用以下命令运行jar文件时:
java -jar RaspberryShell.jar
我收到了这个错误:
错误:找不到或加载主类de.Jan.Raspberry.Shell.Main
原因:java.lang.NoClassDefFoundError: javafx/application/Application
我还在artifact中设置了主类,这不应该是个问题,如果我直接在IntelliJ中运行它,代码可以正常运行。
有人有想法吗?
英文:
When I try to build my javafx application in intellij as a JavaFX Application and I run the jar in console with
> java -jar RaspberryShell.jar
I get this error:
Error: Could not find or load main class de.Jan.Raspberry.Shell.Main
Caused by: java.lang.NoClassDefFoundError: javafx/application/Application
I also set the main class in the artifact that shouldn't be a problem and the code runs fine if I run it direct in intellij.
Does anyone have ideas?
答案1
得分: 1
尝试将以下内容添加到路径中:
--module-path /usr/local/javafx-sdk-14.0.1/lib --add-modules javafx.controls,javafx.fxml
只需将 /usr/local/javafx-sdk-14.0.1/lib 更改为包含 JavaFX 的目录即可。lib 目录应包含一些 .jar 文件,包括 javafx.fxml.jar。
英文:
Try to add this to the path:
--module-path /usr/local/javafx-sdk-14.0.1/lib --add-modules javafx.controls,javafx.fxml
Just change /usr/local/javafx-sdk-14.0.1/lib to the directory which contain javafx. The lib directory should contain some .jar files, including javafx.fxml.jar
答案2
得分: 0
你的运行时Java不包含JavaFX。更换为一个包含JavaFX的版本。
英文:
Your runtime Java does not include JavaFX. Change to one who does.
答案3
得分: 0
当您运行它时,请单击下拉箭头 -> 运行配置 -> 参数,然后将以下内容粘贴到VM参数中:(用您自己的lib路径替换)
--module-path "C:\Program Files\FX\javafx-sdk-11.0.2\lib" --add-modules javafx.controls,javafx.fxml
点击应用并运行!
英文:
When you run it, click on the drop down arrow -> Run configurations -> Arguments
Then paste the following into VM arguments: (Replace with your own path for lib)
--module-path "C:\Program Files\FX\javafx-sdk-11.0.2\lib" --add-modules javafx.controls,javafx.fxml
Press apply and run!
答案4
得分: 0
这个错误是因为你的机器上可能安装了两个JDK,一个是较旧版本的,比如包含javafx/application/Application作为JDK的一部分的Java 8,另一个是较新版本的,不包含该部分。
解决方法:
卸载新的JDK版本,保持JDK 8。
英文:
This Error is because you may have two JDK installed on your machine an older version like Java 8 which contains a javafx/application/Application as part of the JDK and a higher which does not.
Solution:
Uninstall new JDK version and maintain JDK 8
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论