我有一个在Eclipse中运行良好的Java程序 - 当我导出一个可执行的jar文件时,它给了我一个例外。
我知道这是因为我给它错误的路径,但我不知道如何解决。我尝试使用getClass().getResourceaAsStream()
(或类似的那样),但这样做也不行。
我目前使用的代码如下:
第31行:
BufferedImage image = ImageIO.read(new File("/src/res/loading.png"));
答案 0 :(得分:0)
好的,所以我创建了一个简单的项目,创建了一个名为res
的目录并将一些图像投入其中
在有人指出这不是Eclipse之前,它并不重要,我们已经确定Jar文件包含res
目录和图像,它是关于复制结构
然后我写了一个非常简单的例子......
public class Test {
public static void main(String[] args) {
new Test();
}
public Test() {
System.out.println(Test.class.getResource("/res/0.jpg"));
System.out.println(getClass().getResource("/res/0.jpg"));
}
}
输出......
file:/.../Test/build/classes/res/0.jpg
file:/.../Test/build/classes/res/0.jpg
不,在任何指出IDE的环境与命令行不同之前,我也从命令行运行它......
java -jar Test.jar
jar:file:/.../Test/dist/Test.jar!/res/0.jpg
jar:file:/.../Test/dist/Test.jar!/res/0.jpg