Jackson Error : java.lang.NoSuchMethodError: `com.fasterxml.jackson.databind.JsonNode.asText(Ljava/lang/String;)Ljava/lang/String`
Jackson Error : java.lang.NoSuchMethodError: `com.fasterxml.jackson.databind.JsonNode.asText(Ljava/lang/String;)Ljava/lang/String`
我尝试验证 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;
检查你的依赖图是否拉取了正确的版本
杰克逊数据绑定 jar
它抱怨的方法在 2.4.0 版本 jackson-databind.jar
之后可用
如果你的类路径中有旧版本的 jar,那么它就不会提供所需的方法。
如果您在任何 Maven 存储库中检查 java-jwt 依赖项,例如在 MVN Repository 中,您将在编译依赖项之间找到所需版本的 jackson-databind(即那个抛出 java.lang.NoSuchMethodError 异常)。
在您的情况下,对于 java-jwt 3.1.0 版本,您必须拥有 jackson-databind 版本 2.8.4 或新版本 2.9.0。
我尝试验证 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;
检查你的依赖图是否拉取了正确的版本 杰克逊数据绑定 jar
它抱怨的方法在 2.4.0 版本 jackson-databind.jar
之后可用如果你的类路径中有旧版本的 jar,那么它就不会提供所需的方法。
如果您在任何 Maven 存储库中检查 java-jwt 依赖项,例如在 MVN Repository 中,您将在编译依赖项之间找到所需版本的 jackson-databind(即那个抛出 java.lang.NoSuchMethodError 异常)。
在您的情况下,对于 java-jwt 3.1.0 版本,您必须拥有 jackson-databind 版本 2.8.4 或新版本 2.9.0。