因为JAXB-API是java ee的一部分,在jdk9中没有在默认的类路径中;
java ee api在jdk中还是存在的,默认没有加载而已,jdk9中引入了模块的概念,可以使用
模块命令–add-modles java.xml.bind引入jaxb-api;
这些模块默认没有加入:
java.activation
java.corba
java.transaction
java.xml.bind << This one contains the JAXB APIs
java.xml.ws
java.xml.ws.annotation
解决方案:在pom.xml文件引入以下jar包
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-runtime</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>javax.activation</groupId>
<artifactId>activation</artifactId>
<version>1.1.1</version>
</dependency>