添加在 Java 中编译的依赖库总是安全的吗?

Is always safe to add dependency libraries as compiled in Java?

场景是这样的:
我正在为 jIDEA 创建一个插件,所以我的代码将 运行 放在另一个程序中。
我需要使用一些库,但我不确定该库是否会在 运行 时间出现在 jIDEA 中。

如果我将库添加为 "compile",如果执行时该库(或同一库的另一个版本)已经存在,会发生什么情况?
我的插件会使用我编译的库还是会产生一些冲突?

IntelliJ IDEA 在其自己的类加载器中加载每个插件,这取决于主 IntelliJ IDEA 类加载器。如果您的插件使用的库也与 IntelliJ IDEA 捆绑在一起,它将使用捆绑版本。如果该库未捆绑,则将使用您的版本,即使其他插件使用同一库的不同版本也是如此。您可以通过查看 IntelliJ IDEA 安装的 "lib" 目录来检查捆绑了哪些库。