我有一个抛出 NoClasDefFoundError 的问题。这让我很困惑,因为我正在使用接口,并且不应该有可用的类定义。我已经阅读了一些指向 Classpath 的帖子,但我不认为这是这里的问题(尽管我可能错了)。我正在使用 NetBeans 6.9.1 IDE。
我创建了一个示例设置来重现该问题。四个项目:接口、对象、定位器和消费者。您将在下面找到实现。
在运行时,消费者抱怨缺少 SomeObject 实现,因为它正在接受接口,所以它不应该意识到这一点。
线程“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(); }}