访问.jar文件中的图像文件时出现NullPointerException

时间:2010-12-24 23:45:12

标签: java jar classpath

我几乎尝试了所有东西,但仍然有同样的问题。我有以下设置:我有一个images.jar包含一个名为'images'的文件夹,其中有多个图像文件。我将images.jar添加到eclipse中项目的java构建路径中,并且我一直在尝试使用以下代码来访问jar中的各个图像:

URL url = this.getClass().getResource("images/a.png");
ImageIcon icon = new ImageIcon (url);

不幸的是,URL对象始终为NULL。我不认为这与我放置images.jar文件的位置有关,因为它被添加到eclipse中的类路径中。我也试过使用路径'/images/a.png',但仍然是同样的问题。任何建议都将非常受欢迎!感谢。

3 个答案:

答案 0 :(得分:3)

试试这个:

URL url = this.getClass().getClassLoader().getResource("images/a.png");
ImageIcon icon = new ImageIcon(url);

如果没有getClassLoader()调用,您只能访问存储代码的JAR文件中的资源。

答案 1 :(得分:2)

我无法重现你的问题,但我的理论是你从不同的地方经营课程 - 图像和课程在不同的罐子里,或者课程是直接从类文件。

答案 2 :(得分:0)

此链接中的捆绑图像部分可能会有所帮助: http://leepoint.net/notes-java/GUI-lowlevel/graphics/45imageicon.html