当我在Eclipse中编译并运行我的程序时,运行没有异常。但是当我将它导出到可运行的jar或普通的jar时,它找不到我的设置文件。
我的道路是:
String path= "src/settings/settings.ini";
在eclipse中它运行无例外,但在jar中,它会立即抛出异常。
怎样才能让jar像日食一样工作?
答案 0 :(得分:5)
在jar内部,文件不再是物理文件,因此您可能需要将其作为Stream
读取getClassLoader().getResourceAsStream("settings/settings.ini");
考虑到settings.ini位于指定路径的类路径(运行时)
下答案 1 :(得分:0)
如果ini文件位于jar存档中,请按以下方式阅读:
inputstream = getClass()
.getClassLoader()
.getResourceAsStream("settings/settings.ini");
否则,如果它位于您的jar存档之外,您应该在 ./ settings / settings.ini 中移动或复制您的ini文件(相对于您应用程序的当前工作目录)。