报错类型为:
Caused by: java.lang.IllegalAccessError: superclass access check failed: class com.sun.javafx.sg.prism.web.NGWebView (in unnamed module @0x7f74ca0f) cannot access class com.sun.javafx.sg.prism.NGGroup (in module javafx.graphics) because module javafx.graphics does not export com.sun.javafx.sg.prism to unnamed module @0x7f74ca0f
解决方法:
在运行配置的虚拟机选项加上
--module-path /path/to/javafx-sdk-version/lib --add-modules=javafx.swing,javafx.graphics,javafx.fxml,javafx.media,javafx.web --add-reads javafx.graphics=ALL-UNNAMED --add-opens javafx.controls/com.sun.javafx.charts=ALL-UNNAMED --add-opens javafx.graphics/com.sun.javafx.iio=ALL-UNNAMED --add-opens javafx.graphics/com.sun.javafx.iio.common=ALL-UNNAMED --add-opens javafx.graphics/com.sun.javafx.css=ALL-UNNAMED --add-opens javafx.base/com.sun.javafx.runtime=ALL-UNNAMED
/path/to/javafx-sdk-version/lib 是javafx lib包的路径
文章描述了在使用JavaFX时遇到的非法访问错误,原因是NGWebView尝试访问被javafx.graphics模块保护的类。解决方法是通过修改运行配置的虚拟机选项,添加指定模块和打开访问权限。



674

被折叠的 条评论
为什么被折叠?



