繁体   English   中英

.jar 文件找不到图像文件路径

[英].jar File can't find image file path

我正在创建一个简单的程序,我现在想将其导出为可执行文件 jar。 除了 jar 文件找不到图像外,一切正常。

为了创建可运行的 JAR 文件,我使用了 Eclipse 2021-12 中的第二个选项(将所需的库打包到生成的 JAR 中)。 这似乎运行良好,因为我只有 jar 而没有其他文件夹需要运行该程序。

我的 jar 文件结构如下所示:
jar_文件/
├─ 图片/
│ ├─ 青蛙.png

我尝试了多种获取图像文件的方法。

这就是我定义图标的方式:
private static Image icon;

使用 toURI() 和 toString()

icon = Toolkit.getDefaultToolkit().getImage(getClass().getResource("/images/frog.png").toURI().toString());

Eclipse

这在 Eclipse 中不起作用。

路径 Output: file:/C:/Projekte/serviceticketapp/target/classes/images/frog.png

Jar 文件

这在 Jar 文件中不起作用。

路径 Output: rsrc:images/frog.png

使用 toExternalForm()

icon = Toolkit.getDefaultToolkit().getImage(getClass().getResource("/images/frog.png").toExternalForm());

Eclipse

这在 Eclipse 中不起作用。

路径 Output: file:/C:/Projekte/serviceticketapp/target/classes/images/frog.png

Jar 文件

这在 Jar 文件中不起作用。

路径 Output: rsrc:images/frog.png

使用文件和 toURI()

File imageFile = new File(getClass().getResource("/images/frog.png").toURI()); icon = Toolkit.getDefaultToolkit().getImage(imageFile.getAbsolutePath());

Eclipse

这适用于 Eclipse。

路径 Output: C:\Projekte\serviceticketapp\target\classes\images\frog.png

Jar 文件

抛出错误。

java.lang.IllegalArgumentException: URI is not hierarchical

概括

在上面你可以看到我尝试获取图像文件的所有方法。 只有一个在 Eclipse 中有效,而在 jar 文件中均无效。

我做错了什么或者我必须如何安排文件才能使其在 jar 文件和 Eclipse 中工作。

请询问您是否需要更多信息。 提前致谢。

我会使用 imagio ( import javax.imageio.ImageIO )

tIcon = new TrayIcon(ImageIO.read(getClass().getResource("/images/frog.png"), "Service Ticket App");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM