使用 Intellij IDEA 插件一段时间后,我注意到具有外部依赖项的插件工作正常,即使这些依赖项没有与插件本身捆绑在一起,也没有在任何地方公开声明。
随机选取一个例子:生成字符串插件依赖于 log4j 等。但是,如果您查看 jar 文件内部,您会发现它只包含自己的类以及一些资源(图像和 html 文件)和元数据(必需的plugin.xml 和 MANIFEST.MF),其中没有一个包含任何内容。参考log4j。该 jar 文件是安装插件所需的唯一文件。
这怎么可能? IDEA如何管理这些依赖关系,这样它就不会抛出异常ClassNotFoundException
或者运行时类似的东西?
IDEA使用自定义类加载器,如果在插件分发中找不到所需的类,则会在位于的所有jar中搜索IDEA_HOME/lib
目录。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)