因此,我添加了对module-info.java的需求,并最终使我的程序得以加载,但是一旦要从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
答案 0 :(得分:3)
尝试解决此问题的一种方法是为所需的导出添加vm选项:
--add-exports javafx.controls/com.sun.javafx.scene.control.behavior=com.jfoenix
对此的理想解决方案是使jfoenix
库不再使用com.sun.javafx.scene.control.behavior.TabPaneBehavior
。
答案 1 :(得分:0)
到目前为止,我已经能够成功运行jfoenix库的各个方面。我仍然需要在应用程序中进行一些测试,以确保没有隐藏的错误,但是目前,以下VM选项解决了该问题:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul id="listing"></ul>
答案 2 :(得分:0)
所有这些模块痛苦的替代方法是完全放弃JPMS,并将所有库(也包括JavaFX)放在类路径中,然后通过这样的启动器启动应用程序:
class MyAppLauncher {public static void main(String[] args) {MyApp.main(args);}}