编译的jar文件不起作用,因为无法完成图像文件

时间:2016-10-22 11:13:42

标签: java jar build

我使用几个类的IntelijIDEA编译了.jar文件。该项目 结构是这样的:

src -> .class; 
res -> buttons -> Draw.png

当我从IDEA运行这个项目时,它运行正常。但是,当我运行编译的.jar文件时,它不会。

我认为问题在于找到我的Draw.png文件。其中一个类使用以下代码行:

String startButtonHover1 = Draw.png;
BufferedImage startButton = ImageIO.read(this.getClass().getResource("buttons\\" + startButtonHover1));

如果我通过cmd运行.jar文件,它会报告ImageIO.read中的错误:input == null!

如何解决? 也许在构建jar文件之前必须更改一些IntelijIDEA的配置,但我没有这样做。

我也测试了这些线:

System.out.println(Main.class.getResource("buttons\\" + startButtonHover1));
System.out.println(Main.class.getResource("\\buttons\\" + startButtonHover1));
System.out.println(Main.class.getResource("res\\buttons\\" + startButtonHover1));
System.out.println(Main.class.getResource("..\\res\\buttons\\" + startButtonHover1));
System.out.println(Main.class.getResource(".\\res\\buttons\\" + startButtonHover1));

当我从InteijIDEA运行代码时,所有这些都会生成null,而前两个会提供适当的输出。

任何建议都将受到赞赏。

0 个答案:

没有答案