【发布时间】:2012-04-23 10:29:06
【问题描述】:
我有一个包含大约 10 个外部 jar 依赖项的 Eclipse Java 项目。它在 Eclipse 中运行良好,我也使用 ONE-JAR 之类的工具将其导出,并且运行良好。
我面临的奇怪问题是图像。我在项目内的一个包中拥有所有图像,导出时它们被包含但它们没有显示在正在运行的项目中?
我不知道为什么?奇怪的是,在一些 JPanel 文本中,我使用带有嵌入图像的 HTML,例如:
URL url = myClass.class.getResource( "icons/icon.png");
这可以工作并在输出中显示这些图像,但Java直接引用的那些图像,例如:
this.setIconImage(Toolkit.getDefaultToolkit().getImage("src/icons/icon.png"));
不工作。从 Eclipse 运行时,同一行代码可以完美运行。您能否建议可能是什么问题,或者在导出这个项目时我应该怎么做。我应该切换到 Ant 还是 Maven ???
【问题讨论】:
-
看起来第二个代码是从文件系统加载的,而不是从类路径加载的(注意它是如何以“src/”开头的)。这将在 Eclipse 中工作,因为在项目根目录下有一个“src”目录(当您从 Eclipse 运行程序时,它是当前工作目录)。
-
同意@Thilo,解决方案是在那里尝试
"/icons/icon.png"(jar 中的绝对路径)。 -
@Thilo,好的,让我试试这个,谢谢
-
一个问题,如果我的课是在 pacakage gui/graph 中说的;我的图像在 gui/grpah/icons 中;所以从这个类所以我必须给出完整的路径:gui/graph/icons 或只是相对路径:icons/
-
@Thilo,我试过了,但它不起作用?有什么我想念的吗??
标签: java eclipse executable-jar