我的情况是这样的,在本地运行访问一点问题都没有,但是部署在云服务器上后,访问救出了下面的报错。
遇到的问题:
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中有,但是在更高版本就没有了,所以我们加上就行了。
本文介绍了在将Java应用程序从本地迁移到云服务器后遇到的ClassNotFoundException问题,具体为javax.xml.bind.DatatypeConverter。该问题可能由于使用了高于JDK 8的版本引起。解决方案包括降级JDK版本到8,或者在Maven项目中添加特定的JAXB依赖。添加的依赖包括jaxb-api、jaxb-impl、jaxb-core和activation,这些库在JDK 8及以上版本中不再内置。

5215

被折叠的 条评论
为什么被折叠?



