我在Eclipse中有一个Java项目。这是文件夹结构:
代码包位于src中,所有图像都在res文件夹中。
代码中的图像引用如下:
new ImageIcon("res/settings.gif");
但是,在将项目导出到JAR文件(通过使用Export - > Eclipse中的Runnable JAR文件)并运行JAR后,没有显示任何图像。如果我用WinRAR打开JAR,这就是它的结构:
所有图片都在根文件夹中,无法正确引用。如何正确引用图像,以便它们在Eclipse和导出的JAR中都可见?
答案 0 :(得分:1)
.jar文件中未创建res/
文件夹。它看起来资源位置不应该是"res/settings.gif"
而是"/settings.gif"
。
如果在Eclipse中进行调试,则可以使用它,因为主目录将是项目的根目录,res/
文件夹实际存在。
答案 1 :(得分:0)
解决方案是使用绝对路径
new ImageIcon("/settings.gif");
或确保将res
文件夹复制到jar中。也许src / res或将文件夹标记为eclipse中的源文件夹;我现在在另一个IDE中。
那就是
new ImageIcon("/res/settings.gif");
答案 2 :(得分:0)
我想我找到了修复:
替换此
new ImageIcon("res/settings.gif");
与
new ImageIcon(this.getClass().getResource("/settings.gif"));
从Eclipse和可运行的JAR文件中运行。