gpt4 book ai didi

java - Eclipse 导出的 Runnable JAR 不显示图像

转载 作者:行者123 更新时间:2023-12-01 21:27:48 30 4
gpt4 key购买 nike

运行从 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 中的资源)

步骤:

  1. 文件结构

    enter image description here

  2. 代码

    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);
    }
    });
    }
    }
  3. [右键单击项目] → [导出] → [可运行的 Jar 文件] → [设置启动配置]

    enter image description here

  4. 利润

    enter image description here

仅供引用,相同的设置在 eclipse 中运行也很好

<小时/>

示例 2:(资源不在 src 中 - 但在项目中)

步骤:

  1. 文件结构(注意资源看起来像一个普通文件夹)

    enter image description here

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

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

      enter image description here

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

      enter image description here

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

      enter image description here

  3. 新代码不再使用路径的资源前缀

    URL url = Main.class.getResource("/stackoverflow.png");
  4. 与上面的步骤 3 和 4 相同,并且盈利!

<小时/>

更新

设置启动配置

通常,一旦运行该类(即右键单击类并作为 Java 应用程序运行),就会设置运行配置。您需要将其设置为 list 中的启动点。但以下是手动执行此操作的方法。

步骤:

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

    enter image description here您可以看到我已经有了一个运行配置(通过简单地运行类来隐式设置)。但要创建一个新应用程序,请选择[新建] → [Java 应用程序]

  2. 创建运行配置的名称并浏览或键入主启动类。就我而言,它是 com.stackoverflow.test.Main 类

    enter image description here

  3. 现在,当您如上例所示导出时,您可以选择运行配置

    enter image description here

  4. 像上面一样运行 jar。

<小时/>

编辑

检查结果

list :

Manifest-Version: 1.0
Rsrc-Class-Path: ./
Class-Path: .
Rsrc-Main-Class: com.stackoverflow.test.Main
Main-Class: org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader

提取的 jar :

enter image description here

关于java - Eclipse 导出的 Runnable JAR 不显示图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58824944/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com