当我在Eclipse中编译和运行程序时,is会毫无例外地运行。但当我将它导出到可运行的jar或普通jar时,它找不到我的设置文件。
我的路径是:
String path= "src/settings/settings.ini";
在eclipse中,它毫无例外地运行,但在jar中,它会立即抛出异常。
如何使jar像eclipse中那样工作?
在jar中,文件不再是物理文件,因此您可能需要将其读取为Stream
getClassLoader().getResourceAsStream("settings/settings.ini");
考虑到settings.ini在指定路径的类路径(运行时)下
如果ini文件位于jar档案中,请这样读取:
inputstream = getClass()
.getClassLoader()
.getResourceAsStream("settings/settings.ini");
否则,如果它位于jar存档之外,则应该在中移动或复制ini文件/settings/settings.ini(相对于应用程序的当前工作目录)。