异常信息:
java.lang.NoClassDefFoundError: org/bouncycastle/asn1/gm/GMNamedCurves
问题排查:
尝试引入了多个版本的依赖发现错误一直存在,猜测可能是本地已经有旧版本的依赖了。于是执行mvn dependency:tree
查看依赖树。输出如下(这里只截取最重要的部分):
[INFO] ± org.springframework.security:spring-security-jwt:jar:1.0.7.RELEASE:compile
[INFO] | - org.bouncycastle:bcpkix-jdk15on:jar:1.55:compile
[INFO] | - org.bouncycastle:bcprov-jdk15on:jar:1.55:compile
可见是security中引入旧版本的jar包导致依赖冲突。
问题解决:
知道问题就好解决了,找到相关的依赖排除掉旧的,加入新的。
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-jwt</artifactId>
<exclusions>
<exclusion>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15to18</artifactId>
<version>1.76</version>
</dependency>