当我从eclipse中导出java游戏时,它会崩溃,并出现IllegalArgumentException输入==null

当我从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

我正在和我的一些朋友一起开发一个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 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找不到它。我意识到我没有正确地将其添加到构建路径