这个是jdk版本的问题,idea自带jdk11,我换成自己下载的jdk8就ok
想用高版本9以上jdk也行
在你的POM 引入如下依赖。
<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>
原因
因为JAXB-API是java ee的一部分,在jdk9以上没有在默认的类路径中;
java ee api在jdk中还是存在的,默认没有加载而已,jdk9中引入了模块的概念,可以使用
模块命令–add-modules java.xml.bind引入jaxb-api;