从 Eclipse 导出的 JAR 中可加载图像
加载从 Eclipse 导出的 JAR 文件时遇到图像无法呈现的情况可能会令人沮丧。尽管图像存在于导出的 JAR 中,但由于加载技术不正确,它们可能不可见。
资源路径变量和代码变体
一个重要的方面是正确使用资源路径。引用的图片应打包在 Eclipse 指定的资源文件夹中,或者与项目结构中的源代码一起放置。
可以使用多种方法加载图片:
label.setIcon(new ImageIcon(MainFrame.class.getResource("/resources/header.jpg")));
URL url = getClass().getResource("/resources/header.jpg"); Image image = Toolkit.getDefaultToolkit().getImage(url); label.setIcon(new ImageIcon(image));
try { label.setIcon(new ImageIcon(ImageIO.read(getClass().getResource("/resources/header.jpg")))); } catch (IOException e1) { e1.printStackTrace(); }
解决资源加载问题
深入了解对于渲染图像失败的原因,与工作示例进行比较可能会有所帮助。以下部分介绍了带有插图和分步指南的场景,以帮助排除故障:
示例 1
对于位于 src 内的资源,请按照以下步骤操作:
在代码中,在 MainFrame 类旁边使用以下资源路径:
URL url = MainFrame.class.getResource("/resources/stackoverflow.png");
示例2
对于不在 src 内但包含在项目中的资源:
在代码中访问图像,但省略资源前缀路径:
URL url = Main.class.getResource("/stackoverflow.png");
启动配置
一旦可以加载图像在 Eclipse 中,设置启动配置对于导出 JAR 至关重要。通过这个简单的过程来创建配置:
验证
检查导出的 JAR 清单时,应出现以下行:
Rsrc-Main-Class: com.stackoverflow.test.Main
扩展的 JAR 应包含以下文件结构:
stackoverflow.png (resource file)
以上是为什么我无法从 Eclipse 加载导出的 JAR 中的图像?的详细内容。更多信息请关注PHP中文网其他相关文章!