当我在 Eclipse 中编译并运行我的程序时,它会毫无例外地运行。但是当我将它导出到可运行的 jar 或普通 jar 时,它找不到我的设置文件。
我的路径是:
String path= "src/settings/settings.ini";
在 Eclipse 中,它毫无例外地运行,但在 jar 中,它会立即抛出异常。
如何使 jar 像在 eclipse 中一样工作?
当我在 Eclipse 中编译并运行我的程序时,它会毫无例外地运行。但是当我将它导出到可运行的 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 存档之外,您应该在./settings/settings.ini中移动或复制您的 ini 文件(相对于应用程序的当前工作目录)。