jar 文件因为图像不工作
jar file not working because of image
我认为我的可执行 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 文件时该程序无法运行。
如果有人想知道我是如何解决的:
我改变了
Sprite.class.getResource(path)
到
getClass().getResourceAsStream(path)
然后我将图像移动到与罐子相同的位置。比如我有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 文件时该程序无法运行。
如果有人想知道我是如何解决的:
我改变了
Sprite.class.getResource(path)
到
getClass().getResourceAsStream(path)
然后我将图像移动到与罐子相同的位置。比如我有jar(导出到桌面)和桌面的图片,路径是“/”加文件名。