前言:一般spring系列都使用jdk1.8,但是博主比较懒,以前1.8和jdk11冲突就把1.8卸了,不想再装了,正好这俩天在搞springcloud,报了jdk版本问题的问题,写这篇文章记录一下。
报错:java.lang.TypeNotPresentException: Type javax.xml.bind.JAXBContext not present
解决:百度之后,发现这个错误就是jdk版本问题,jdk8版本以上使用了模块化概念,少了个JAXB-API没有默认加载,手动加载即可。可以使用模块命令–add-modles
java.xml.bind引入jaxb-api。 也可以在maven里添加jax-api的依赖。
完美解决问题,希望对各位有用:
<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>
详情见博客,写的很详细,学习。