当我从eclipse中导出java游戏时,它会崩溃,并出现IllegalArgumentException输入==null
我正在和我的一些朋友一起开发一个Java游戏,希望能够导出到jar,这样他们就可以玩它并测试它。 但当我导出jar时,它会崩溃:当我从eclipse中导出java游戏时,它会崩溃,并出现IllegalArgumentException输入==null,java,eclipse,Java,Eclipse,我正在和我的一些朋友一起开发一个Java游戏,希望能够导出到jar,这样他们就可以玩它并测试它。 但当我导出jar时,它会崩溃: Exception in thread "main" java.lang.ExceptionInInitializerError at com.EnderVizion.game.Game.<init>(Game.java:46) at com.EnderVizion.game.Game.main(Game.java:144) Caused
Exception in thread "main" java.lang.ExceptionInInitializerError
at com.EnderVizion.game.Game.<init>(Game.java:46)
at com.EnderVizion.game.Game.main(Game.java:144)
Caused by: java.lang.IllegalArgumentException: input == null!
at javax.imageio.ImageIO.read(ImageIO.java:1388)
at com.EnderVizion.game.level.SpawnLevel.loadLevel(SpawnLevel.java:16)
at com.EnderVizion.game.level.Level.<init>(Level.java:26)
at com.EnderVizion.game.level.SpawnLevel.<init>(SpawnLevel.java:11)
at com.EnderVizion.game.graphics.Screen.<clinit>(Screen.java:14)
... 2 more
线程“main”java.lang.ExceptionInInitializeError中的异常
在com.EnderVizion.game.game.(game.java:46)
在com.EnderVizion.game.game.main上(game.java:144)
原因:java.lang.IllegalArgumentException:input==null!
在javax.imageio.imageio.read(imageio.java:1388)
在com.EnderVizion.game.level.SpawnLevel.loadLevel(SpawnLevel.java:16)上
在com.EnderVizion.game.level.level.(level.java:26)
在com.EnderVizion.game.level.SpawnLevel。(SpawnLevel.java:11)
在com.EnderVizion.game.graphics.Screen.(Screen.java:14)
... 还有两个
我的代码位于此处的代码找不到此图像:
public static Level spawn = new SpawnLevel("/levels/SpawnWorld.png");
您的图像文件夹“levels”是否随jar一起导出?尝试下面的方法
this.icon = ImageIO.read(new FileInputStream("source/test.png"));
其中源文件夹与src文件夹位于同一级别。确保您的源文件夹(在项目结构中)中有test.png文件在问题本身中发布相关代码。这需要更多的信息,但我的理解是,您试图从开发框架中相对于源代码的特定位置加载图像,由于文件夹结构不同,您的JAR找不到它。我意识到我没有正确地将其添加到构建路径