尝试将项目导出到可运行的jar时,我遇到了一个非常奇怪的问题。我环顾四周,并在代码中对我如何获取图像进行了一些更改。
这是我用来获取图像的方法。
public static Image getImage(String name) {
try {
return ImageIO.read(Engine.class.getResourceAsStream("/" + name));
} catch (IOException e) {
System.out.println("ERROR: Couldn't load image" + name);
e.printStackTrace();
return null;
}
}
当我通过命令提示符运行我的jar文件时,收到以下错误消息。
第81行包含
return ImageIO.read(Engine.class.getResourceAsStream("/" + name));
我首先认为错误是由于图像没有跟踪到jar文件,但我检查了归档管理器。
导致此错误出现的问题是什么?
答案 0 :(得分:1)
问题在于你所指的路径。您的设置路径不是图像所在的方向(请参阅错误)。打印你的abusulte路径到那个文件夹,看看你错过了哪里。
答案 1 :(得分:0)
没有必要斜线。所以代码应该是这样的:
return ImageIO.read(Engine.class.getResourceAsStream(name));
答案 2 :(得分:0)
问题在于图像的命名。我曾写过" def"和" hov"用小写字母,而图像名称是" Def"和" Hov"。