gpt4 book ai didi

Java:由于 "java.lang.NoClassDefFoundError: Could not initialize class me.ryan.Resources",程序随机停止工作

转载 作者:行者123 更新时间:2023-12-02 03:18:57 25 4
gpt4 key购买 nike

我一直在编写一个游戏,并且有一段时间我上了一门名为“资源”的类(class)。由于某种原因,当我几乎不对类(class)进行任何编辑时,它就会停止工作。这是我的资源类:

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: Could not initialize class me.ryan.Resources”

意味着您的Resources类的静态初始化失败。异常消息没有说明原因,但堆栈跟踪可能会说......在嵌套异常链中。

发生失败的原因是您的一个 load 调用由于未捕获未检查异常而失败。

<小时/>

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

Resources.class.getResource(path)

调用返回了 null 而不是 URL 对象。如果类加载器找不到路径名与您请求的资源相对应的资源,它将执行此操作。

如果出现这种情况,那么根本原因是您使用了错误的路径。或者您的构建/部署过程没有将所需的图像文件放置在类加载器期望的位置;例如如果您从可执行 JAR 运行,则在 JAR 文件中。

关于Java:由于 "java.lang.NoClassDefFoundError: Could not initialize class me.ryan.Resources",程序随机停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39883470/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com