【发布时间】:2021-06-05 00:05:18
【问题描述】:
版本
openjdk版本“11.0.11”2021-04-20
OpenJDK 运行时环境(内部版本 11.0.11+9-Ubuntu-0ubuntu2.20.10)
OpenJDK 64 位服务器 VM(内部版本 11.0.11+9-Ubuntu-0ubuntu2.20.10,混合 模式,分享)
IntelliJ IDEA 2021.1.2(终极版)构建 #IU-211.7442.40,已构建 2021 年 5 月 31 日
JavaFX SDK 11.0.2
大家好,首先我想说,在here 之前有人问过这个问题,我按照正确答案给出的所有步骤操作,结果出现了这个错误:
Exception in Application start method java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:567)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:464)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:363)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:567)
at java.base/sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:1071)
Caused by: java.lang.RuntimeException: Exception in Application start method
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:900)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:195)
at java.base/java.lang.Thread.run(Thread.java:831)
Caused by: java.lang.IllegalAccessError: class com.sun.javafx.fxml.FXMLLoaderHelper (in unnamed module @0x6c5aff76) cannot access class com.sun.javafx.util.Utils (in module javafx.graphics) because module javafx.graphics does not export com.sun.javafx.util to unnamed module @0x6c5aff76
at com.sun.javafx.fxml.FXMLLoaderHelper.<clinit>(FXMLLoaderHelper.java:38)
at javafx.fxml.FXMLLoader.<clinit>(FXMLLoader.java:2056)
at KiloConverter.start(KiloConverter.java:12)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:846)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:455)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427)
at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
at javafx.graphics/com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
at javafx.graphics/com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(GtkApplication.java:277)
我是 Java 的初学者,我正在为大学课程做这个项目。我可以构建应用程序,但无法运行它。就像我说的,我按照上一个答案给出的所有步骤进行操作,但无济于事。
如果可能,请不要像我看到的other people answer before 那样告诉我“阅读基础知识”。我只是不确定为什么我的代码不能在我的最终项目中运行。
非常感谢您!
【问题讨论】:
-
正如您所说,您刚刚开始使用 Java,如果您暂时不考虑模块,您的生活会更轻松。作为测试,在某处制作
module-info.java的备份副本并将其从您的项目中删除。 -
@tevemadar 错误的性质表明 OP 没有
module-info描述符。或者至少没有将他们的应用程序作为一个模块启动。 -
如果您包含示例项目,建议会更容易。
标签: java intellij-idea javafx