因此,我添加了对module-info.java的要求,并最终加载了我的程序,但只要tab窗格想要从jfoenix库加载,就会抛出这个错误。
Caused by: java.lang.IllegalAccessError: class com.jfoenix.skins.JFXTabPaneSkin (in module com.jfoenix) cannot access class com.sun.javafx.scene.control.behavior.TabPaneBehavior (in module javafx.controls) because module javafx.controls does not export com.sun.javafx.scene.control.behavior to module com.jfoenix发布于 2018-10-29 09:20:02
尝试修复此问题的一种方法是为所需的导出添加vm选项:
--add-exports javafx.controls/com.sun.javafx.scene.control.behavior=com.jfoenix理想的解决方案是不使用com.sun.javafx.scene.control.behavior.TabPaneBehavior的jfoenix库。
发布于 2018-11-29 04:50:18
到目前为止,我能够成功地运行jfoenix库的所有方面。我仍然需要在我的应用程序中进行一些测试,以确保没有隐藏错误,但目前以下VM选项解决了这个问题:
--add-exports javafx.controls/com.sun.javafx.scene.control.behavior=com.jfoenix
--add-exports javafx.controls/com.sun.javafx.scene.control=com.jfoenix
--add-exports javafx.base/com.sun.javafx.binding=com.jfoenix
--add-exports javafx.graphics/com.sun.javafx.stage=com.jfoenix
--add-exports javafx.base/com.sun.javafx.event=com.jfoenix发布于 2019-12-08 18:26:42
另一种方法是完全放弃JPMS,将所有的库(也包括JavaFX)放在类路径中,然后通过如下所示的启动器启动应用程序:
class MyAppLauncher {public static void main(String[] args) {MyApp.main(args);}}https://stackoverflow.com/questions/53037442
复制相似问题