我正在为某些应用程序编写插件。让我们假设 libA-1.0 的 Application hava 库依赖项和我的插件具有 libA-2.0 的类似依赖项。版本不同,互不兼容(即它们有不同的api方法签名)。
如何防止我的插件从 libA-1.0 加载类(或如何强制它使用来自 libA.2.0 的类)?
有没有办法做到这一点,而不是编写自定义类加载器,也不使用 forName、loadClassDefinition 调用?
当您将一些库放到 *.war 存档中并且由于 Web 容器在类路径上有“相同”的库时,它们不会加载,也会出现类似的问题。
谢谢你的帮助。
问候, 帕维尔