具有冲突内容的工件:
org.javassist:javassist:jar:3.17.1-GA
&&javassist:javassist:jar:3.12.1.GA
前者来自Hibernate,后者来自Guava。两者最终都出现在最终的战争文件中。问题是经典的冲突解决机制失败了,因为组 id 不同。因此,这两个 jar 最终都成为了最终的项目可交付成果。
我不能只在托管依赖项中排除 Guava 的依赖项,因为该项目是一个多模块。一些模块使用没有 Hibernate 的 Guava。他们会错过他们对 javassist 的依赖。但是,如果我不这样做,“多余”的工件将在项目的 war 文件中弹出。
有没有办法告诉 Maven 这两个依赖项实际上是同一代码的两个不同版本?