解决ClassNotFoundException心得体会以及解决流程
问题出现原因:
- 原因一:引入的依赖版本不对,导致依赖中没有该类
- 原因二:该依赖除了被主动引入外,又包含在
引入的其他依赖
中,发生了依赖冲突,一般体现为依赖覆盖,本质上是因为导致原因一
问题解决:
- 解决原因一:github上查看不同的release版本,找到含有该类的release版本
- 解决原因二:查看
引用该类的依赖库
中是否引入了该依赖,如果有则使用exclusion标签排除该依赖
解决流程:
-
控制台报错:没有找到对应的security包下的
SecureDigestAlgorithm
-
去对应的库找发现没有security包
-
去github上找相关的jwt版本(一般先找最新的版本)
-
找到所需的类,然后替换为该版本即可
-
在库中发现多了jjwt-api、jjwt-impl、jjwt-jackson,在jjwt-impl依赖中即可找到该类