我认为我的可执行jar文件无效,因为我正在使用的图像没有被加载。当我制作批处理文件并运行jar时,它说
"IllegalArgumentException: input == null!"
当我在eclipse中运行它时程序运行正常。所以我的问题是你需要对图像做一些特殊的事情才能正确运行一个jar文件吗?
我认为代码导致错误:
BufferedImage image = ImageIO.read(Sprite.class.getResource(path));
this.width = image.getWidth();
this.height = image.getHeight();
this.pixels = new int[width * height];
image.getRGB(x, y, width, height, pixels, 0, width);
编辑:程序在eclipse中运行正常(图像加载),就在我将其导出为可执行jar文件时,该程序无效。
答案 0 :(得分:0)
如果有人想知道我是如何解决的:
我改变了
Sprite.class.getResource(path)
到
getClass().getResourceAsStream(path)
我将图像移动到与jar相同的位置。例如,我有jar(导出到桌面)和桌面上的图像,路径是“/”加上文件名。