带有从Eclipse导出的打包图像的Jar文件未运行



我从Eclipse IDE导出了一个可运行的jar文件。在Eclipse中,程序运行良好,但当导出时,程序拒绝打开。为了澄清,图像位于源文件夹中,并通过资源加载器类通过URL加载。我使用JD-GUI来显示我的jar文件的内容,并且图像被正确地打包到文件中(包括图片(。为什么jar文件运行不正常?问题

这是我的URL加载器代码

public class MainPanel extends JPanel{
  BufferedImage img1, img2;
  URL url1 = ResourceLoader.class.getResource("1.jpg");
  URL url2 = ResourceLoader.class.getResource("2.jpg");
  MainPanel(){
    try {
        img1 = ImageIO.read(url1);
        img2 = ImageIO.read(url2);
    } catch (IOException e) {
        e.printStackTrace();
    }
}

public void paintComponent(Graphics g){
    super.paintComponent(g);
    g.drawImage(img1, 1, 0, null);
    g.drawImage(img2, img1.getWidth(), 0, null);
    if(g instanceof Graphics2D){
        Graphics2D g2d = (Graphics2D)g;
    }
  }
}

这是资源加载器类

final public class ResourceLoader {
    public static InputStream load(String path){
        InputStream input = ResourceLoader.class.getResourceAsStream(path);
        if (input == null) {
            input = ResourceLoader.class.getResourceAsStream("/"+path);
        }
        return input;
    }
}

编辑:://以下是正在发生的错误的命令提示符读数在此处输入图像描述

导出jar时,在"启动配置"中选择包含主方法的类。它应该可以正常工作。如果您仍然面临问题,则使用"java-jar jarfilename"命令从命令行运行jar以查看确切的错误消息。

最新更新