我有一个具有以下文件夹结构的JavaFX Maven项目:
+ -- src/
+ -- -- java/
+ -- -- -- com/pkg/
+ -- -- -- -- App.java
+ -- -- resources/
+ -- -- -- com/pkg/
+ -- -- -- -- fxml/app.fxml
+ -- -- -- -- css/app.css
+ -- -- -- -- img/img.png
例如,当我需要加载FXML文件时,我这样做:
URL url = getClass().getResource("/com/pkg/fxml/app.fxml");
在我尝试通过JLink交付应用程序之前,一切都很有趣,也充满了游戏性。我运行了JLink maven目标,它在/target/image/bin/java
中创建了一个可执行文件。我可以运行它,但是它很快会引发LoadException
,因为它找不到某些FXML文件。确实,我.fxml
中找不到任何.css
,.png
或target/
文件,因为resources/
不存在。
那么我在这里做错了什么-文件结构还是构建?我该如何解决?