在运行时找不到JavaFX控制器类

时间:2017-01-26 15:59:09

标签: java javafx runtime classnotfoundexception

我编写了一个与插件配合使用的JavaFX应用程序。

我制作了一个插件,可以加载一个fxml文件,在主应用程序中添加一些节点。

我加载包含插件的所有.class的.jar但是当我运行插件时我有这个例外:

Exception

我不明白为什么因为.jar包含' MainController.class' ...但是当运行fxml文件时,java运行时找不到它。

当我将插件作为JavaFX独立应用程序运行时,它可以正常工作。

非常感谢。

1 个答案:

答案 0 :(得分:0)

我找到了解决方法:

不是在FXML文件中声明控制器类,而是在加载文件之前以编程方式设置它,如下所示:

FXMLLoader loader = new FXMLLoader(getClass().getRessource("myFile.fxml");
loader.setController(new MyController());
loader.load();

希望它会有所帮助。