NoClasDefFoundErrorがスローされるという問題があります。私はインターフェースを使用しているので、それは私を困惑させます、そしてクラス定義は利用可能であるべきではありません。クラスパスを指すいくつかの投稿を読みましたが、ここで問題になるとは思いません(間違っているかもしれませんが)。NetBeans6.9.1IDEを使用しています。
問題を再現するためのサンプルセットアップを作成しました。4つのプロジェクト:インターフェース、オブジェクト、ロケーター、コンシューマー。以下に実装を示します。
実行時に、コンシューマーは、SomeObjectの実装が欠落していることについて不平を言います。これは、インターフェイスを受け入れているため、認識してはなりません。
スレッド「メイン」の例外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(); }}