部署.jar文件:为什么我不能加载图标文件?

时间:2009-02-26 22:06:13

标签: java deployment resources jar

我正在导出一个包含两个目录的简单java项目; src和图标。 Icons是一个包含三个.png文件的目录。

我正在使用File - >导出到可执行的.jar文件。出口。导出正常,.jar文件包含Icon目录。但是在部署项目时,我无法获得.png文件的正确路径。在开发过程中,我使用以下路径:

  

图标/ picture.png

只要我在Eclipse IDE中运行它就可以工作。 如何获得图标的正确路径?

2 个答案:

答案 0 :(得分:6)

您的代码正在查找.jar文件之外的图片。请改为ImageIcon代替Icon icon = new ImageIcon(getClass().getResource("Icons/picture.png"));

{{1}}

请参阅URL constructor

答案 1 :(得分:4)

mmyers是正确的,但要注意getClass().getResource()将相对于定义类的包加载资源。我怀疑你的图标是打包在jar文件的根目录而不是相对于类本身。要从类路径的根目录获取资源,请尝试:     getClass().getClassLoader().getResourceAsStream("Icons/picture.png")