Java:程序因“错误”而随机停止工作;java.lang.NoClassDefFoundError:无法初始化类me.ryan.Resources“;

Java:程序因“错误”而随机停止工作;java.lang.NoClassDefFoundError:无法初始化类me.ryan.Resources“;,java,noclassdeffounderror,Java,Noclassdeffounderror,我一直在编写一个游戏,有一段时间我有一个叫做资源的课程。出于某种原因,当我几乎不编辑该类时,它就会停止工作。这是我的资源类: public class Resources { public static final BufferedImage background = load("/background.png"); public static final BufferedImage introBackground = load("/introBackground.png"); public

我一直在编写一个游戏,有一段时间我有一个叫做资源的课程。出于某种原因,当我几乎不编辑该类时,它就会停止工作。这是我的资源类:

public class Resources {

public static final BufferedImage background = load("/background.png");
public static final BufferedImage introBackground = load("/introBackground.png");
public static final BufferedImage sneem = load("/sneem.png");
public static final BufferedImage grass = load("/grass.png");
public static final BufferedImage wall = load("/wall.png");

public static BufferedImage load(String path){
    URL url = Resources.class.getResource(path);
    try {
        return ImageIO.read(url);
    } catch (IOException e) {
        e.printStackTrace();
        return null;
    }
}
}

另外:我从头开始创建这个类,我没有使用任何库或类似的东西。

此消息

“java.lang.NoClassDefFoundError:无法初始化类me.ryan.Resources”

表示
资源
类的静态初始化失败。异常消息没有说明原因,但stacktrace可能会说。。。在嵌套的异常链中

由于未捕获未经检查的异常,导致一个
load
调用失败,因此将发生此故障


查看
load
的代码,我猜测该异常是
NullPointerException
的异常,它的发生是因为

Resources.class.getResource(path)
调用返回了
null
,而不是
URL
对象。如果类加载器找不到路径名与您请求的路径名对应的资源,它就会这样做

如果这是正在发生的事情,那么根本原因是您使用了错误的路径。或者您的构建/部署过程没有将所需的映像文件放置在类加载器希望找到它们的位置;e、 g.在JAR文件中,如果您是从可执行JAR运行的。

此消息

“java.lang.NoClassDefFoundError:无法初始化类me.ryan.Resources”

表示
资源
类的静态初始化失败。异常消息没有说明原因,但stacktrace可能会说。。。在嵌套的异常链中

由于未捕获未经检查的异常,导致一个
load
调用失败,因此将发生此故障


查看
load
的代码,我猜测该异常是
NullPointerException
的异常,它的发生是因为

Resources.class.getResource(path)
调用返回了
null
,而不是
URL
对象。如果类加载器找不到路径名与您请求的路径名对应的资源,它就会这样做


如果这是正在发生的事情,那么根本原因是您使用了错误的路径。或者您的构建/部署过程没有将所需的映像文件放置在类加载器希望找到它们的位置;e、 g.在JAR文件中,如果您是从可执行JAR运行的。

与这些解决方案都没有关系。此外,我根本没有改变类路径,无论它何时起作用,还是何时不起作用,它都保持不变。你在工作版本和非工作版本之间做了什么改变?类中没有“me.ryan”包。@tak3shi我只是把它忘了,它实际上在我的实际代码中,与这些解决方案都没有帮助我。此外,我根本没有改变类路径,无论它何时起作用,它都保持不变。在工作版本和非工作版本之间,你做了什么改变?类中没有包“me.ryan”。@tak3shi我只是把它忘了,它实际上在我的实际代码中