Intellij IDEA如何管理插件依赖?

时间:2012-07-15 13:28:06

标签: java intellij-idea

在使用Intellij IDEA插件一段时间之后,我注意到具有外部依赖性的插件工作正常,即使这些依赖项未与插件本身捆绑在一起,也不会在任何地方公开声明。

选择一个随机的例子:GenerateToString插件除其他外依赖于log4j。但是如果你看一下jar文件,你会看到它只包含它自己的类加上一些资源(图像和html文件)和元数据(强制性的plugin.xml和MANIFEST.MF),其中没有任何一个对log4j的引用。并且该jar文件是您安装插件所需的唯一内容。

怎么可能? IDEA如何管理这些依赖项,以便它不会在运行时抛出ClassNotFoundException或类似的东西?

1 个答案:

答案 0 :(得分:6)

IDEA使用自定义类加载器,如果它没有在插件分发​​中找到所需的类,则会在位于IDEA_HOME/lib目录中的所有jar中搜索它。