2012-07-15 13 views
8

Intellij IDEAプラグインをしばらく再生した後、これらの依存関係がプラグイン自体にバンドルされていなくても、どこにでも宣言されていても、外部依存関係のプラグインはうまく動作します。Intellij IDEAはプラグインの依存関係をどのように管理しますか?

ランダムな例を選ぶ:GenerateToStringプラグインは、特にlog4jに依存します。しかし、jarファイルを調べると、独自のクラスといくつかのリソース(画像とHTMLファイル)とメタデータ(必須のplugin.xmlとMANIFEST.MF)のみが含まれていることがわかります。 log4jへの参照。プラグインをインストールするには、そのjarファイルだけが必要です。

どうすれば可能ですか? IDEAはどのようにこれらの依存関係を管理しているので、実行時にClassNotFoundExceptionなどが投げられることはありませんか?

答えて

6

IDEAはカスタムクラスローダーを使用しますが、プラグインの配布で必要なクラスが見つからない場合は、IDEA_HOME/libディレクトリにあるすべてのジャーで検索されます。

関連する問題