java - 如何使用eclipse将所有图像包含在jar文件中

标签 java eclipse jar

我制作了一个 java 应用程序并将所有类捆绑在一个 jar 文件中。当我从 eclipse 运行项目时,我的应用程序运行成功。但是当我尝试运行我的 .jar 文件时,我没有得到我的应用程序使用的图标。在代码中,我从项目文件夹中的图像目录中获取图标。使用 jar 时如何将这些图像文件呈现给最终用户?

我正在加载图像:

 final public ImageIcon iReport=new ImageIcon("images/Report.png");

我也试过

final public ImageIcon iquit=new ImageIcon(getClass().getResource("images/quit.png"));

final public ImageIcon iquit=new ImageIcon(getClass().getResource("/images/quit.png"));

但这会导致错误:

Exception in thread "main" java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(Unknown Source)

最佳答案

您需要从类路径中获取它,而不是从本地磁盘文件系统中获取。

假设 images 实际上是一个包,并且这个包与当前类在同一个 JAR 中,那么这样做:

final public ImageIcon iReport = 
    new ImageIcon(getClass().getResource("/images/Report.png"));

关于java - 如何使用eclipse将所有图像包含在jar文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6373021/

相关文章:

java - 程序在编译器中运行良好,但在 jar 中运行不佳(Java)

java - Android 自定义列表的 ArrayAdapter - Java

c - Eclipse CDT - 共享库依赖问题

java - AbstractUIPlugin 导致 NoClassDefFoundError

java - 在 Eclipse 上调整黄色框的大小并保持其大小

java - 导出 jar 时将 Javadoc 添加到 Eclipse 项目

java - 使用 Fat Jars 相对于容器的优点

java - 如何在自定义 JMX 客户端中忽略 SSL 证书

java - CMD (Java) 中的 Postgres Restore 不再响应,而相同的命令在 CMD 中执行良好

java - 如何将 JScrollPane 与 JTextArea 一起使用?