我有一個NoClasDefFoundError被拋出的問題。它使我感到困惑,因爲我使用接口,並且沒有類定義應該可用。我已閱讀了一些指向Classpath的帖子,但我不認爲這是問題(儘管我可能是錯的)。我正在使用NetBeans 6.9.1 IDE。NoClassDefFoundError
我已經創建了一個示例設置來重現此問題。四個項目:接口,對象,定位器和消費者。下面你會找到實現。
在運行時消費者關於丟失SomeObject實現的coplains,由於它接受接口,所以它不應該知道。
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(); }}
感謝所有爲偉大的答案!畢竟這是一個類路徑問題。我不知道消費者也需要看到「對象」,儘管「定位器」將它們放在了類路徑中。 – 2011-01-25 18:20:27