在我的 Java 项目中,我有两个外部依赖项 A 和 B。我将它们作为 JAR 文件放在我的构建路径中。项目A和B都有外部依赖项目C。但是它们依赖于不同版本的C。如果我使用与A兼容的版本,则B会崩溃,反之亦然。
这要怎么处理呢?
慕神8447489
浏览 84回答 1
1回答
MM们
欢迎来到依赖地狱。三种方法:如果项目A和B中至少有一个是您的,您可以尝试更改代码以达到与所需版本的C兼容。理想情况下,您可以将A和B都更新到C的最新稳定版本并“修复”使其工作的代码。如果 A 和 B 都是外部项目,您可能会尝试使用不同版本的 A 和 B,因为它们可能依赖于不同版本的 C。也许您会找到适用于相同 C 的组合。使用 Maven 阴影插件构建一个阴影jar。在这里,您修改一个 C 版本的包名称,使其独立于另一版本。