2

こんにちはstackoverflowの世界、

Javaプラグインフレームワークの小さな問題で立ち往生していて、ドキュメントでその答えを見つけることができません。

質問は驚くほど単純です。プラグインによってもたらされるクラスをシステムクラスローダーから利用できるようにする方法は?

言い換えると、私はPluginAクラスをもたらすプラグインを持っており、(プラグインからではなく)メインアプリケーションからPluginAをインスタンス化できるようにしたいと考えています。各プラグインには独自のクラスローダーがあるため、これはデフォルトでは許可されていません...

私にとって最善の方法は、プラグインアーカイブにjarを含め、このjarをシステムクラスローダーにロードすることですが、その方法は?

誰かがアイデアを持っているなら、ありがとう!

ニコラス

4

1 に答える 1

1

問題が解決しました。プラグインは、zip アーカイブと jar で構成されます。プラグインのインストールとその初期化専用のコードは、zip アーカイブ (および Plugin JPF クラス) にあります。プラグインの機能自体を構成するコードは別の jar にあり、実行時にhttp://jimlife.wordpress.com/2007/12/19/java-adding-newを使用して jar をクラスパスに追加します。 -classpath-at-runtime/

于 2011-08-12T18:53:33.427 に答える