我在加载JAR文件中包含的图片时遇到问题。我已经阅读了一些与此相关的其他帖子。但找不到答案。现在这里变得复杂了。如果我使用从Eclipse导出的Runnable JAR文件并使用标准JRE运行它,这一切都正常。但是,这个JAR文件实际上是一个名为pro / ENGINEER的软件插件,它有自己的JRE,用于运行JAR文件。奇怪的是..这在开发机器上运行良好,安装了eclipse等等,但是在任何客户端机器上都不起作用?!但我无法看到有什么不同。
我正在尝试使用以下方式加载图片:
ImageIcon icon = new ImageIcon(this.getClass().getResource("resources/Header.png");
这个方法是从我的开始'类,Jar的结构如下:
load
Start.java
load.resources
Header.png
如果我用WinRar打开Jar文件,你可以看到图像肯定存在于jar中,处于这个位置。
我知道这可能是一个非常具体的问题,但如果有人可以提供任何帮助,那就太棒了。
答案 0 :(得分:0)
我没有遇到你现在遇到的特殊问题,但是我遇到了过去几次没有在JAR文件中找到资源的问题。
解决方案是不从类获取资源,而是从类加载器获取资源,如下所示:
ImageIcon icon = new ImageIcon(this.getClass().getClassLoader().getResource("resources/Header.png"));
请注意getClass()之后的 .getClassLoader()调用。
希望这有帮助。