UrlClassLoaders についてお聞きしたいです。うまく機能するメインの .jar ファイルを作成します。ここで、フォルダーの 1 つからプラグインをロードできるようにしたいと考えています。フォルダー内の .jar ファイルが見つかり、その内部のクラス (名前、パス) を一覧表示できるようになるまで、私はそれを書きました。問題は、私が彼にそのクラスを見つけるように頼んだとき (そのインスタンスを作成するため)、次のようにメインの jar ファイルから継承するクラスが見つからないことです:
IN MAIN JAR:
-class Expansion { ... }
In a plugin jar:
-class ExpansionA extends MainJar.Expansion { ... }
そのため、UrlClassLoader に " ExpansionA " クラスを解決するように要求すると、 MainJar ではなくプラグイン jar で " Expansion " クラスが検索されますが、プラグイン jar には " Expansion "クラスがありません。リソースライブラリ...そしてdefineClassメソッド中にNoDefFoundForClassError例外をスローします。MainJar のクラスの後にチェックするように彼に指示するにはどうすればよいですか? (1つのクラスだけでなく、プラグインがMainJarから任意のクラスを継承できるようにしたい)。私を助けることができますか?