Java / Eclipse - getClass()。getResource(...)返回null

时间:2016-04-13 06:12:08

标签: java eclipse jar bufferedimage getresource

执行以下代码时, imgURL 始终设为 NULL

try {
    URL imgURL = getClass().getResource("assets/image.png");
    System.out.println(imgURL);
    BufferedImage sheet = ImageIO.read(imgURL);
} catch (IOException e) {
    System.out.println("Image failed to load.");
    e.printStackTrace();
}

Assets是一个源文件夹,列在“Project> Properties> Java Build Path”下。我也试图清理项目并重建。此外,在“资产”之前添加“/”不起作用,无论如何都无法满足我的目的。

这是在eclipse中运行的代码的先前版本,但不是可执行的Jar:

BufferedImage sheet = ImageIO.read(new File("assets/image.png"));

我根本不明白为什么 imgURL 首先被设置为 NULL ,因为在线的主要答案是使用与第一个一样的确切语法代码块。这也被用于可执行的JAR文件中,我的项目需要进行全面的测试。

非常感谢您提供的任何帮助。

谢谢!

编辑:由于TheLostMindingrid,我的问题已得到解决。事实证明,当使用getClass()。getResource(filename)时,我需要使用没有相对路径(assets / filename)的文件名。

0 个答案:

没有答案