- 今天在使用JWT生成token的时候遇到一个错误:
java.lang.NoSuchMethodError: org.apache.commons.codec.binary.Base64.encodeBase64URLSafeString
上网了解了一下情况知道这个错误发生的一般场景是这样的:A jar包中有需要引用B jar包的某个类,但是B jar包这个类在之前的代码中已经被引用了,在maven依赖中已经配置完了,引用时的版本较低,并没有现在A jar要用的某个方法,编译是能通过的,A jar自然的去调用这个类中的相关方法,因为版本低的原因,没有找到,所以就抛出了NoSuchMethodError的错误。 - 了解可能发生的原因后,在项目的maven-dependencies里找到这个jar包,然后按报错的包路径去找这个类,发现这个类的确没有这个方法。于是去maven仓库看这个包已经更新到1.12了,于是在pom.xml配置了最新版本的依赖,问题解决。
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.8</version>
</dependency>