位置仅在jar中需要

时间:2017-04-15 13:41:49

标签: java javafx

我一直在制作一个小的java程序,我几乎已经完成了它。我尝试在eclipse和IntelliJ中将其导出为可运行的jar,但jar没有运行。我尝试在try catch语句中包围启动器类以查看原因,而exception.getMessage()只是说需要的位置。我正在使用JavaFX作为我的GUI。请记住,当我在两个IDE中单击运行时,它运行完美。

我在这里读了一个类似的问题,但似乎这个人甚至无法在IDE中运行它,所以请不要再引用我。

注意:我解压缩了jar,看看我的包含我的fxml文件的包是否在jar中。

提前致谢

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。我的问题是我使用相对路径来获取资源。例如

Parent addUser = FXMLLoader.load(getClass().getResource("../fxml/addUserGUI.fxml"));

在将其更改为

后,我正在使用它
Parent addUser = FXMLLoader.load(getClass().getResource("/BikeShop/fxml/addUserGUI.fxml"));

有效。 BikeShop是我的包名,是项目的根目录。