【发布时间】:2014-05-09 11:48:48
【问题描述】:
我在使用 Java 制作的游戏导出 jar 时遇到问题。游戏将于明天呈现,jar 不会执行。
我正在运行命令 java -jar filename.jar
这里是 cmd 提示符中的堆栈跟踪的一部分:
Image load failed: Resources/Images/shop/jet.png
javax.imageio.IIOException: Can't read input file!
at javax.imageio.ImageIO.read(Unknown Source)
at ImageLoader.loadImage(ImageLoader.java:21)
at ImageLoader.loadScaledImage(ImageLoader.java:34)
at ImgButton.<init>(ImgButton.java:18)
at Carnies.createButtons(Carnies.java:343)
at Carnies.simpleInitialize(Carnies.java:82)
at Frame.<init>(Frame.java:90)
at Carnies.<init>(Carnies.java:64)
at CarnieRunner.makeGUI(CarnieRunner.java:62)
at CarnieRunner.<init>(CarnieRunner.java:27)
at CarnieRunner.main(CarnieRunner.java:131)
Exception in thread "main" java.lang.ExceptionInInitializerError
at Carnies.createButtons(Carnies.java:361)
at Carnies.simpleInitialize(Carnies.java:82)
at Frame.<init>(Frame.java:90)
at Carnies.<init>(Carnies.java:64)
at CarnieRunner.makeGUI(CarnieRunner.java:62)
at CarnieRunner.<init>(CarnieRunner.java:27)
at CarnieRunner.main(CarnieRunner.java:131)
Caused by: java.lang.NullPointerException
at GifHandler.<init>(GifHandler.java:15)
at GifHandler.<clinit>(GifHandler.java:7)
... 7 more
问题似乎是我的图像没有加载。这是程序中处理图像加载的行:
public static BufferedImage loadImage(String fileName) {
try {
File file;
file = new File(fileName);
BufferedImage sub = ImageIO.read(file);
return toCompatibleImage(sub);
}
catch (IOException e) {
System.out.println("Image load failed: " +fileName);
e.printStackTrace();
return null;
}
}
这一切在 Eclipse 中运行良好,但在 Jar 上没有运气。任何建议都会很棒。如果拥有我的整个项目将有助于解决它位于 github.com/madamsmall/carnie 的公开位置 谢谢!
【问题讨论】:
-
你的图片保存在哪里?
-
Cannot read image in jar 的可能副本等等。
标签: java eclipse jar resources