【发布时间】:2021-07-20 05:03:32
【问题描述】:
我看到很多人在 Eclipse 中运行时加载图像时遇到同样的问题,但从导出的 JAR 中运行时却没有。在找到正确的解决方法之前,我一直遇到这个问题。现在我遇到了一个问题,即加载图像并且程序在从新导出的可运行 JAR 运行时运行完美,但在 Eclipse 中却不行!值得注意的是,我事先在我的机器上更新了 Java!
它在 Eclipse 中运行得非常好,直到我弄清楚如何正确导出可运行的 JAR,但现在却不行! Assets 文件夹被设为源文件夹,第 19 行看到的 Image 类使用以下代码:
public Image(String path)
{
try {
image = ImageIO.read(getClass().getResourceAsStream(path));
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
w = image.getWidth();
h = image.getHeight();
// Reads all the pixel data into a 1D array
p = image.getRGB(0, 0, w, h, null, 0, w);
}
完整的错误可以在屏幕截图中看到,但例外是:
Exception in thread "main" java.lang.IllegalArgumentException: input == null!
at java.desktop/javax.imageio.ImageIO.read(ImageIO.java:1356)
at rawGE/com.albionbrown.rawge.gfx.Image.<init>(Image.java:20)
at coalDrop/com.albionbrown.ld48.MenuSprite.<init>(MenuSprite.java:19)
at coalDrop/com.albionbrown.ld48.Game.<init>(Game.java:44)
at coalDrop/com.albionbrown.ld48.Game.main(Game.java:32)
【问题讨论】:
-
你有什么异常吗?
-
是 - 线程“main”中的异常 java.lang.IllegalArgumentException: input == null!
-
我看不到任何
input变量。为了获得更好的帮助,请尽快发布正确的 minimal reproducible example 来证明您的问题 -
input变量没问题并在此时填充。我只是好奇是否需要配置某种包含路径才能在 Eclipse 中运行? -
不是 Eclipse 方面的专家,但如果没有适当的 MRE,这很难调试
标签: java eclipse image swing executable-jar