2

我在 intelliJIDEA 中使用 JDK15 工作,没有任何 Gradle、Maven 或其他。
是的,我们都知道自 JDK11 起 JAXB 已从 JDK 中移除。
所以我尝试简单地将一些库作为 jar 文件添加到项目中:

    jaxb-runtime-3.0.0
    jaxb-impl-3.0.0
    jaxb-core-3.0.0
    jaxb-api-2.4.0-b180830.03592
    xmlbeans-2.6.02
    activation-1.0.22

不过,我得到的只是:

    javax.xml.bind.JAXBException: Implementation of JAXB-API has not been found on module path or classpath.

在这条线上:

    jaxbContext = JAXBContext.newInstance(Hamster.class);

有什么线索吗?

4

1 回答 1

2

您混合了不兼容的库版本:JAXB API 2.4.0 的实现既不是jaxb-impl-3.0.0.jar也不是。Java EE 8 规范(如 JAXB 2.4.0)和Jakarta EE 9规范(如 JAXB 3.0)jaxb-runtime-3.0.0.jar之间发生了重大变化:基本上包命名空间已替换为.javax.jakarta.*

因此,为了使用 JAXB 3.0,您需要:

于 2021-03-09T18:05:04.357 回答