我的情况是这样的,在本地运行访问一点问题都没有,但是部署在云服务器上后,访问救出了下面的报错。
遇到的问题:
java.lang.ClassNotFoundException:javax.xml.bind.DatatypeConverter
原因:
这有可能是因为SpringBoot项目结合jwt进行登录时出现的问题,因为jdk版本太高导致的。
解决方案
方案一:如果jdk版本是8以上的,就降低jdk版本
自己换的版本低点的jdk就可以了,jdk8即可
方案二:在maven中添加依赖
<dependency> <groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId> <version>2.3.1</version> </dependency>
方案三:在maven种添加依赖
<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>com.sun.xml.bind</groupId>
<artifactId>jaxb-core</artifactId> <version>2.3.0</version> </dependency>
<dependency> <groupId>javax.activation</groupId>
<artifactId>activation</artifactId> <version>1.1.1</version> </dependency>
因为javax.xml.bind在jdk8中有,但是在更高版本就没有了,所以我们加上就行了。