[英]How does Intellij IDEA manage plugin dependencies?
在使用Intellij IDEA插件一段時間后,我注意到具有外部依賴項的插件工作正常,即使這些依賴項未與插件本身捆綁在一起,也不會在任何地方公開聲明。
選擇一個隨機的例子: GenerateToString插件除其他外依賴於log4j。 但是如果你看一下jar文件,你會看到它只包含它自己的類加上一些資源(圖像和html文件)和元數據(強制性的plugin.xml和MANIFEST.MF),其中沒有任何一個對log4j的引用。 並且該jar文件是您安裝插件所需的唯一內容。
怎么可能? IDEA如何管理這些依賴項,以便它不會在運行時拋出ClassNotFoundException
或類似的東西?
IDEA使用自定義類加載器,如果它沒有在插件分發中找到所需的類,則會在位於IDEA_HOME/lib
目錄中的所有jar中搜索它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.