杰克逊错误:java.lang.NoSuchMethodError:`com.fasterxml.jackson.databind.JsonNode.asText(Ljava /郎/字符串;)Ljava /郎/ String`
我试图验证JWT认证令牌,杰克逊错误:java.lang.NoSuchMethodError:`com.fasterxml.jackson.databind.JsonNode.asText(Ljava /郎/字符串;)Ljava /郎/ String`
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的正确版本
它抱怨的方法在版本起杰克逊databind.jar
如果不知为何,你在你的classpath有罐子的旧版本那就不是服务于需要方法的2.4.0。
谢谢你的回答。问题是我的POM文件和GlassFish模块之间的依赖性冲突。 –
@CHHIBIAMOR乐于提供帮助 – Rizwan
如果您检查任何maven存储库中的java-jwt依赖项,例如在MVN Repository中,您将在编译依赖项之间选择所需版本的jackson-databind(即抛出java.lang.NoSuchMethodError异常的那个版本) 。
对于您的情况,对于java-jwt 3.1.0版本,您必须具有jackson-databind版本2.8.4或新版本2.9.0。
您正在使用哪个版本的java-jwt? –
@ KDavid-Valerio 3.1.0 –
请将您的'pom.xml'添加到问题中。 – unwichtich