Intellij IDEA プラグインでしばらく遊んだ後、外部依存関係を持つプラグインは、これらの依存関係がプラグイン自体にバンドルされておらず、どこにも公に宣言されていなくても、正常に動作することに気付きました。
無作為に例を挙げると、GenerateToStringプラグインはとりわけ log4j に依存しています。しかし、jar ファイルの中を見ると、独自のクラスといくつかのリソース (画像と html ファイル) とメタデータ (必須の plugin.xml と MANIFEST.MF) だけが含まれていることがわかります。 log4j への参照。そして、プラグインのインストールに必要なのは jar ファイルだけです。
そんなことがあるものか?IDEA はこれらの依存関係をどのように管理しClassNotFoundException
て、実行時に a またはそのようなものをスローしないようにしますか?