在Eclipse中导出JAR文件并引用文件

时间:2012-03-24 16:49:47

标签: eclipse image jar export

我有一个项目,图像存储为我想要使用的徽标。

URL logoPath = new MainApplication().getClass().getClassLoader().getResource("img/logo.jpg");

使用该方法,我获取文件的URL并将其转换为字符串。然后我必须将其子串到5以除去此输出“file:/ C:/Users/Stephen/git/ILLA/PoC/bin/img/logo.jpg”

然而,当我将它作为一个jar导出并运行时,我遇到了麻烦。 URL现在读取/ILLA.jar!/,我的图片只是空白。我有一种直觉感觉它正在绊倒我所以如何解决这个问题呢?

干杯

2 个答案:

答案 0 :(得分:1)

你快到了。

jar中的图像被视为资源。您需要使用类路径引用它们 只需使用getClass()。getResource:类似于:

的getClass()的getResource( “/图片/ logo.jpg”)); 其中“images”是jar文件中的包,其路径如上所述

查看调用中的前导/ - 这将有助于正确访问路径(使用绝对而不是相对)。只需确保路径正确

另见:

How to includes all images in jar file using eclipse

答案 1 :(得分:1)

见这里:Create a file object from a resource path to an image in a jar file

String imgName = "/resources/images/image.jpg";
InputStream in = getClass().getResourceAsStream(imgName);
ImageIcon img = new ImageIcon(ImageIO.read(in));

请注意,您需要在存档中使用流作为资源。