我尝试验证JWT身份验证令牌
JWTVerifier verifier = JWT.require(Algorithm.HMAC256("secret")).withIssuer("siat").build();
String token=httpRequest.getParameter("token");
DecodedJWT decodedJWT = verifier.verify(token);
以下是异常堆栈跟踪:
java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.JsonNode.asText(Ljava/lang/String;)Ljava/lang/String;
答案 0 :(得分:5)
检查您的依赖关系图是否正在提取正确的版本 Jackson-databind jar
它抱怨的方法在版本 2.4.0 以及 jackson-databind.jar
之后可用如果你的类路径中有不同版本的jar,那么它就不会提供所需的方法。
答案 1 :(得分:1)
如果检查任何maven存储库中的java-jwt依赖项,例如在MVN Repository中,您将在编译依赖项之间使用所需的jackson-databind版本(即抛出java的版本)。 lang.NoSuchMethodError异常)。
在您的情况下,对于java-jwt 3.1.0版本,您必须拥有jackson-databind版本2.8.4或新版本2.9.0。