【发布时间】:2020-10-01 00:44:50
【问题描述】:
我正在使用 Spring 等标准 Java 库的最新稳定版本,但从 maven shade 插件收到关于定义相同类的三个不同库的“重叠类”警告。
图书馆:jakarta.activation-api、javax.activation-api、activation。
具体来说:
-
jakarta.activation:jakarta.activation-api:jar:1.2.2(jakarta.xml.bind:jakarta.xml.bind-api:jar:2.3.3的依赖) -
javax.activation:javax.activation-api:jar:1.2.0(依赖javax.xml.bind:jaxb-api:jar:2.3.1,我觉得这个应该换成jakarta.xml.bind-api,但不确定) -
javax.activation:activation:jar:1.1(com.sun.mail:javax.mail:jar:1.6.2的依赖)
哪个库是“正确”的库,会造成最少的麻烦?
更新:好像jakarta.xml.bind-api替换了javax.xml.bind:jaxb-api(证明:here和here),所以在(1)和(2)的冲突中,雅加达一( jakarta.activation-api) 应该优先于 javax 之一 (javax.activation-api)。首选的 JAXB 依赖项描述为 in Jakarta web site。但目前尚不清楚这与javax.activation:activation 有何关系。
【问题讨论】:
标签: java maven jakarta-ee jaxb