【发布时间】:2011-01-25 17:26:01
【问题描述】:
我遇到了抛出 NoClasDefFoundError 的问题。这让我很困惑,因为我正在使用接口,并且不应该有可用的类定义。我已经阅读了一些指向 Classpath 的帖子,但我不认为这是这里的问题(尽管我可能错了)。我正在使用 NetBeans 6.9.1 IDE。
我创建了一个示例设置来重现该问题。四个项目:接口、对象、定位器和消费者。您将在下面找到实现。
在运行时,消费者抱怨缺少 SomeObject 实现,因为它正在接受接口,所以它不应该意识到这一点。
线程“main”中的异常 java.lang.NoClassDefFoundError: 对象/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(); }}
【问题讨论】:
-
感谢大家的精彩回答!!毕竟这是一个类路径问题。我不知道消费者也需要查看“对象”,尽管事实上“定位器”将它们放在它的类路径中。
标签: java interface noclassdeffounderror