我的项目中有两个库:
javax.xml.bind...
jakarta.xml.bind...
<dependency>
<groupId>jakarta.xml.bind</groupId>
<artifactId>jakarta.xml.bind-api</artifactId>
<version>x</version>
</dependency>
如果版本 x=2.3.x 库 B 损坏。如果 x=4.0.x A 中断(未找到类异常)。
有没有办法让新旧绑定 API 在类路径中共存?如果是这样,我应该使用哪些依赖项?如果没有,阴影是唯一的解决方案吗?
使用的运行时:
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-runtime</artifactId>
<version>2.3.2</version>
</dependency>
我不会尝试让它按原样工作,因为你可能在运行时遇到其他问题。
我建议您使用 eclipse 转换器来使 javax 依赖项在 jakarta 中进行转换(例如参见 本指南)
如果你真的想尝试让它运行,你应该像 api 一样使用 jaxb2.3 的旧版 Maven 坐标
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.1</version>
</dependency>
并让雅加达的人以雅加达为基础。