我正在使用相当稳定的Java库(例如Spring)的最新稳定版本,但从maven shade插件收到有关定义相同类的3个(三个)不同库的“重叠类”警告。
[库: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
的依赖性)哪种图书馆是“正确的”图书馆,它将减少最少的麻烦?
Update:似乎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
有什么关系。
最后知道了。JavaBeans激活框架已移至Jakarta Activation,请参见Jakarta JAF page,这意味着javax.activation:activation
已过时。多亏了jakarta activation,最合适的人似乎是this answer。