JAXB API被认为是Java EE API,因此不再包含在Java SE 9中的默认类路径中。在Java 11中,它们已从JDK中删除。要解决此问题,需要手动引入。

1、MAVEN引入方式

<dependency>
    <groupId>javax.xml.bind</groupId>
    <artifactId>jaxb-api</artifactId>
    <version>2.2.11</version>
</dependency>
<dependency>
    <groupId>com.sun.xml.bind</groupId>
    <artifactId>jaxb-core</artifactId>
    <version>2.2.11</version>
</dependency>
<dependency>
    <groupId>com.sun.xml.bind</groupId>
    <artifactId>jaxb-impl</artifactId>
    <version>2.2.11</version>
</dependency>
<dependency>
    <groupId>javax.activation</groupId>
    <artifactId>activation</artifactId>
    <version>1.1.1</version>
</dependency>

2、gradle引入方式

dependencies {
    complie"javax.xml.bind:jaxb-api:2.2.11"
    complie"com.sun.xml.bind:jaxb-core:2.2.11"
    complie"com.sun.xml.bind:jaxb-impl:2.2.11"
    complie"javax.activation:activation:1.1.1"
}

3、如果报错NoSuchMethodError:javax.annotation.Resource.lookup()Ljava/lang/String;
解决方法

 <dependency>
    <groupId>javax.annotation</groupId>
    <artifactId>javax.annotation-api</artifactId>
    <version>1.3.2</version>
</dependency>
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐