如何使用JavaFX 11修复jfoenix模块

时间:2018-10-29 00:52:42

标签: javafx java-11 jfoenix

因此,我添加了对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

3 个答案:

答案 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);}}