【问题标题】:Load Image from Jar: Always null从 Jar 加载图像:始终为空
【发布时间】:2010-06-20 02:09:34
【问题描述】:

查看了其他关于 SO 的帖子,他们没有解决这个问题。

我正在尝试从我的 jar 文件中加载图像。它不断出现为空。图片位于:

.Jar file > images > BLOCK.png

要加载我正在做的图像:

BufferedImage bImg;
URL url = getClass().getResource("/images/BLOCK.png");
try {
    bImg = ImageIO.read(url);
} catch (IOException ex) {
    Logger.getLogger(TileEngine.class.getName()).log(Level.SEVERE, null, ex);
}

url 和 bImg 一样为空。

不用担心区分大小写,因为我已经检查过了。

【问题讨论】:

    标签: java image null


    【解决方案1】:

    试试这个:

    Toolkit.getDefaultToolkit().getImage(getClass().getResource("/images/BLOCK.png"));
    

    【讨论】:

    • 所以在这种情况下 url 不为空?这到底是怎么回事?
    【解决方案2】:

    与您用来调用getResource 的类相比,图像在哪个jar 文件中?如果它们是由同一个类加载器加载的,应该没问题。

    您是否仔细检查了 jar 文件实际上是否包含该文件?

    您确定您的类加载器实际上使用的是 jar 文件(而不是直接在磁盘上的 .class 文件,例如)?

    如果您有一个简短但完整的程序来演示该问题,那将非常有帮助。 (控制台应用是理想的……毕竟我们不需要查看图像。)

    【讨论】:

      猜你喜欢
      • 2023-03-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-12
      • 2013-01-11
      • 1970-01-01
      相关资源
      最近更新 更多