Java 从Jar加载图像:始终为空

Java 从Jar加载图像:始终为空,java,image,null,Java,Image,Null,看看其他帖子,他们并没有解决这个问题 我正在尝试从jar文件加载一个图像。它不断地显示为空。图像位于以下位置: .Jar file > images > BLOCK.png 要加载我正在执行的图像,请执行以下操作: BufferedImage bImg; URL url = getClass().getResource("/images/BLOCK.png"); try { bImg = ImageIO.read(url); } catch (IOException ex)

看看其他帖子,他们并没有解决这个问题

我正在尝试从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一样为空

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

试试这个:

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

与用来调用
getResource
的类相比,图像在哪个jar文件中?如果它们是由同一个类加载器加载的,那么就可以了

您是否仔细检查了jar文件是否确实包含该文件

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


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

所以在这种情况下url不是空的?这到底是怎么回事?