システムJavaパッケージの1つの独自の実装の作成に取り組んでいますが、パッケージを使用しようとすると間違ったクラスが選択されるという問題が発生しています。
たとえば、私のパッケージがabcDoStuffで、まったく同じ名前abcDoStuffの既存の Java パッケージがあるとします。
テスト アプリケーションで次のコードを使用すると、システム クラスがまだ使用されていることがわかります (/usr/lib/jvm/java-6-openjdk/jre/lib/rt.jar にあります)。
ClassLoader loader = test.class.getClassLoader();
System.out.println(loader.getResource("a.b.c.DoStuff.class");
私のパッケージは jar ファイル ( package.jar ) にコンパイルされました。
- クラスをテスト ファイルにインポートしました (import abcDoStuff;)
- クラスパスにpackage.jarを追加しました(「export CLASSPATH ...」と「java -classpath ...」の両方を使用)
私が見落としている何かがあるに違いない?システムパッケージの代わりにパッケージを受け取る方法について何か考えはありますか?
ありがとう、
クリス