gpt4 book ai didi

java - NoClassDefFoundError

转载 作者:行者123 更新时间:2023-11-29 09:57:42 25 4
gpt4 key购买 nike

我遇到了一个问题,即抛出 NoClasDefFoundError。这让我感到困惑,因为我正在使用接口(interface),并且没有类定义应该可用。我已经阅读了一些指向类路径的帖子,但我不认为这是这里的问题(尽管我可能是错的)。我正在使用 NetBeans 6.9.1 IDE。

我已经创建了一个示例设置来重现该问题。四个项目:接口(interface)、对象、定位器和消费者。您将在下面找到实现。

在运行时,消费者提示缺少 SomeObject 实现,它不应该意识到这一点,因为它正在接受接口(interface)。

Exception in thread "main" java.lang.NoClassDefFoundError: objects/SomeObject

我错过了什么?

package interfaces;
public interface ISomeInterface { }

package objects;
import interfaces.ISomeInterface;
public class SomeObject implements ISomeInterface{ }

package locator;
import interfaces.ISomeInterface;
import objects.SomeObject;
public class Locator { public static ISomeInterface LocateImplementation() { return new SomeObject(); }}

package consumer;
import interfaces.ISomeInterface;
import locator.Locator;
public class Main { public static void main(String[] args) { ISomeInterface object = Locator.LocateImplementation(); }}

最佳答案

您可以像使用类一样使用接口(interface)获得 NoClassDefFoundError 异常。将异常名称中的“Class”视为通过编译类或接口(interface)生成的 .class 文件,而不是 Java 类。

这是说类/接口(interface) objects.SomeObject 在类路径中不可见。检查该 .class 文件的位置并确保它在您的类路径中 - 如果您确定它在那里,请给我们一些屏幕截图或可能有助于调试问题的内容。

关于java - NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4796774/

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