我的游戏中有四个类别;Player.java, Game.java, Island.java和Map.java。基本上它的大量代码链接到这里,但我的问题是,我的程序在eclipse中工作得很好,但当我导出为jar并运行它时,没有打开任何东西,所以我用CMD打开它,它给出了错误。
输入CMD:
java -jar GameAlliansen.jar
命令行输出:
java.lang.NullPointerException在javax.swing.ImageIcon.
这是我如何导入我的图像
island = new ImageIcon(Game.class.getResource("/Island(64x64).png"));
https://i.stack.imgur.com/8T2Nv.png这是我的项目图像
将代码改为:
Icon island =new ImageIcon(ImageIO.read(getClass().getResource("/Island(64x64).png")));
jar中的路径是区分大小写的,而不是所有的文件系统都是(例如Windows使用的路径只是保留大小写,不区分大小写)。你试图加载"Island(64x64).png",但图像显示实际文件名是"Island(64x64).png"。
导出它时,创建一个文件夹,将jar文件和图像Island(64x64).png放在其中