【问题标题】:Image won't show up when using JAR file [duplicate]使用 JAR 文件时图像不会显示 [重复]
【发布时间】:2020-07-31 14:33:27
【问题描述】:

所以我在我正在制作的这个基本国际象棋游戏中使用了棋子的图像。

当我在 Eclipse 中运行该程序时,它可以正常工作。但是当我使用 Eclipse 导出然后运行该程序时,它给出了错误java.imageio.IIOException: Can't read input file!

图像存储在源文件夹中的包名称中。

我使用加载图像

BufferedImage image = null;

try {
    image = ImageIO.read(new File("src/images/Chess_Pieces.png"));
} catch (IOException e) {
    System.out.println(e);
}

我尝试将图像定位到许多不同的位置,并且尝试了不同的加载图像的方法,但它们都不起作用,并且我确保图像在导出的 JAR 文件中确实正确显示。

【问题讨论】:

标签: java


【解决方案1】:

改变它:

image = ImageIO.read(getClass().getResource("/images/Chess_Pieces.png"));

见:

【讨论】:

  • 非常感谢,这解决了问题。我对 Java 很陌生,请问这和我以前做的有什么区别?
  • 当你构建一个 jar 时。该文件不再位于 src 目录中。它将与类文件一起打包。所以当你运行 jar 时,它找不到它们。 getResource() 返回 URL 对象以从 jar 中加载资源
  • 好的,非常感谢,我会记住的。
猜你喜欢
  • 1970-01-01
  • 2013-06-15
  • 1970-01-01
  • 2021-08-13
  • 1970-01-01
  • 2014-03-26
  • 2020-07-17
  • 2014-07-16
  • 1970-01-01
相关资源
最近更新 更多