无法找到资源可运行的jar

时间:2016-01-06 22:07:20

标签: java eclipse lwjgl filenotfoundexception

在将项目解压缩为可运行的jar后,我无法加载资源文件。

它在Eclipse中有效,但在导出后会抛出FileNotFoundException

我试图将res文件夹放在.jar文件旁边但没有任何帮助。我已尝试使用JarSplice并使其与所有库一起运行,但它会停止使用资源文件。目标文件位于源文件夹中。

我该怎么办?

代码

    FileReader fr = null;
    try {
        fr = new FileReader(new File("res/" + fileName + ".obj"));
    } catch (FileNotFoundException e) {
        System.err.println("Couldn't load object file!");
        e.printStackTrace();
    }

编辑:通过打开7zip中的runnable .jar文件,我可以看到整个/ res文件夹在导出过程中已经消失,目录中的文件现在直接位于.jar文件的根文件夹中。

2 个答案:

答案 0 :(得分:0)

根据您的代码,res文件夹应直接放在当前工作目录之外,该目录应该是您运行Java命令的目录。例如,请在how to determine the current working directory from inside Java上查看此问题。

答案 1 :(得分:0)

使用路径代替新文件(字符串)。

FileReader fr = null;
try {
    fr = new FileReader(Paths.get("res/" + fileName + ".obj").toFile());
} catch (FileNotFoundException e) {
    System.err.println("Couldn't load object file!");
    e.printStackTrace();
}