我从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以查看确切的错误消息。