.jar中的NoSuchFileException但不包含在Eclipse中

时间:2012-09-11 11:21:50

标签: java eclipse jar embedded-resource nosuchfileexception

当我在Eclipse中编译并运行我的程序时,运行没有异常。但是当我将它导出到可运行的jar或普通的jar时,它找不到我的设置文件。

我的道路是:

String path= "src/settings/settings.ini";

在eclipse中它运行无例外,但在jar中,它会立即抛出异常。

怎样才能让jar像日食一样工作?

2 个答案:

答案 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文件(相对于您应用程序的当前工作目录)。