java Intellij JavaFX Jar找不到要使用的资源
我遇到的问题是,当我创建当前JavaFX11项目的工件并运行jar时,由于jar没有找到分配给控制器的资源,我遇到了NullPointerException
我将资源保存在使用它们的控制器所在的包中
我的包结构如下所示:
src/core/ Main.java
| StartingScreenController.java
| backgroundImage.jpg
| StartingScreen.fxml
|
products/game/app/Menu.fxml
MenuController.java
有趣的是,当我启动应用程序时,启动屏幕。但是,当我单击处理对新阶段(Menu.fxml)的更改的方法时,会显示fxml和背景图像,如下所示:
Stage stage = new Stage();
FXMLLoader fxmlLoader = new FXMLLoader();
Pane root = fxmlLoader.load(
getClass().getResource("../products/game/app/Menu.fxml")
.openStream()
);
Scene scene = new Scene(root);
stage.setScene(scene);
stage.setTitle("Some name");
stage.setResizable(false);
stage.show();
我在getClass()处得到一个NullPointerExecOption。getResource(“../products/game/app/Menu.fxml”)
令人惊讶的是,这个错误只出现在工件罐中,而不是在开发过程中强>
我使用Maven项目结构,但不将资源保留在资源包中
共 (0) 个答案