Java Eclipse导出的Runnable JAR不显示图像

运行从Eclipse导出的JAR文件时,不会加载我的图像。

我将图像放在资源类包中。我也尝试过图像源文件夹,但是没有运气。

从Eclipse加载时完美工作。图像位于导出的JAR文件中,因此可以正常导出。

我试过了:

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)

档案结构

package com.stackoverflow.test;

import java.net.URL;

import javax.swing.*; // Wild carded for brevity.

// Actual code imports single classes

public class Main {

public static void main(String[] args) {

SwingUtilities.invokeLater(new Runnable(){

public void run() {

URL url = Main.class.getResource(

"/resources/stackoverflow.png");

ImageIcon icon = new ImageIcon(url);

JFrame frame = new JFrame();

frame.add(new JLabel(icon));

frame.pack();

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.setLocationRelativeTo(null);

frame.setVisible(true);

}

});

}

}

  1. [右键单击项目]→[导出]→[可运行的Jar文件]→[设置启动配置]

利润

仅供参考,相同的设置也可以在Eclipse中运行

脚步:

文件结构(通知资源看起来像一个普通文件夹)

我们现在要做的就是将资源放在构建路径上。这是将所有内容放入类路径中的文件夹(不包括文件夹本身)中

  • 右键单击该项目,然后转到[构建路径]→[配置构建路径]

  • 从对话框的[源]选项卡中,选择[添加文件夹],然后在新对话框中,选择[资源]文件夹

  • 现在资源文件夹的内容在构建路径中(注意现在文件夹中的小包

新代码不再使用资源前缀作为路径

URL url = Main.class.getResource("/stackoverflow.png");

从上面与第3步和第4步相同,并获利!

更新

通常,一旦你运行了该类(即右键单击该类并以Java应用程序身份运行),便会设置运行配置。你需要将其设置为清单中的启动点。但是,这是手动操作的方法。

脚步:

  1. [右键单击项目]→[属性]→[运行/调试设置]

    你可以看到我已经有了一个运行配置(从简单运行该类隐式设置)。但是要创建一个新的,请选择[New]→[Java Application]

  2. 为运行配置创建一个名称,然后浏览或键入一个主启动类。以我com.stackoverflow.test.Main为例

  3. 现在,如上例所示导出时,选择运行配置
  4. 像上面一样运行jar。

编辑

表现:

Manifest-Version: 1.0

Rsrc-Class-Path: ./

Class-Path: .

Rsrc-Main-Class: com.stackoverflow.test.Main

Main-Class: org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader

以上是 Java Eclipse导出的Runnable JAR不显示图像 的全部内容, 来源链接: utcz.com/qa/423054.html

回到顶部