gpt4 book ai didi

maven - 具有不同组ID的依赖冲突解决方案?

转载 作者:行者123 更新时间:2023-12-01 02:28:15 25 4
gpt4 key购买 nike

具有冲突内容的 Artifact :
org.javassist:javassist:jar:3.17.1-GA && javassist:javassist:jar:3.12.1.GA
前者来自Hibernate,后者来自Guava。两者最终都出现在最终的 war 文件中。问题是经典的冲突解决机制失败了,因为组 id 不同。因此,这两个 jar 最终都成为了最终的项目可交付成果。

我不能只在托管依赖项中排除 Guava 的依赖项,因为该项目是一个多模块。一些模块使用没有 Hibernate 的 Guava。他们会错过他们对 javassist 的依赖。但是,如果我不这样做,“多余”的 Artifact 将在项目的 war 文件中弹出。

有没有办法告诉 Maven 这两个依赖项实际上是同一代码的两个不同版本?

最佳答案

我会坚持以下解决方案:

  • 添加对 javassist 的显式依赖项目的主 pom.xml 中的 Artifact (以便所有子模块都继承此依赖项)。
  • 排除 javassist都来自 Hibernate 和 Guava。
  • 最重要的是:添加注释说明您为什么需要 javassist依赖:)
  • 关于maven - 具有不同组ID的依赖冲突解决方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14748151/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com