動的にロードされたクラスから Java クラスを動的にロードする際に問題が発生しています。
私のクラスはImageJプラグインで、他のモジュールを動的にロードしますclassloader。プラグインNoClassDefFoundErrorと同じパッケージにあるものを参照するモジュールをロードするときがあります。ImageJ
私が正確に行うことは次のとおりです。
- ImageJ ロード プラグイン (A)
- (A) システム クラス ローダーを取得する
- (A) jar URL をクラスローダーに追加する
- (A) を使用して、目的のクラス (B) を jar にロードしようとします。
Class.forName
NoClassDefFoundError現在のクラスローダーで見つからなかった A のクラスを B が指していることが原因で、クラス B をロードできません。
最初にプラグインをロードするために使用したのと同じクラスローダーをImageJ使用して、モジュールをロードし、以前にImageJ. 再コンパイルせずにこれを行いたいImageJです。
ImageJコードを更新したり変更したりすることなく、この問題を解決する方法はありますか?
疑似クラスの例
package a;
class A extends PlugInFrame {}
package a;
class C extends MyOwnPlugIn {}
package b;
import a;
class B extends C {}