2017-08-08 2 views
1

J'ai essayé de valider un jeton d'authentification JWT,Jackson Erreur: java.lang.NoSuchMethodError: `com.fasterxml.jackson.databind.JsonNode.asText (Ljava/lang/String;) Ljava/lang/CHAINE`

JWTVerifier verifier = JWT.require(Algorithm.HMAC256("secret")).withIssuer("siat").build(); 
String token=httpRequest.getParameter("token"); 
DecodedJWT decodedJWT = verifier.verify(token); 

suivant est trace de la pile d'exception:

java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.JsonNode.asText(Ljava/lang/String;)Ljava/lang/String; 
+0

Quelle version de java-jwt utilisez-vous? –

+0

@ KDavid-Valerio 3.1.0

+0

Veuillez ajouter votre 'pom.xml' à la question. – unwichtich

Répondre

1

Vérifiez votre graphe de dépendance si elle tire la version correcte de pot-Jackson DataBind

la méthode, il se plaint est disponible dans la version 2.4.0 partir de jackson-databind.jar

Si vous avez en quelque sorte la version plus ancienne de pot dans votre classpath alors il ne servirait pas la méthode nécessaire.

+0

Merci pour votre réponse. Le problème était un conflit entre la dépendance dans mon fichier POM et les modules GlassFish. –

+1

@CHHIBIAMOR Joyeux d'aider – Rizwan

1

Si vous vérifiez les dépendances java-JWT dans un repository, par exemple dans MVN Repository vous aurez se entre la compilation des dépendances de la version requise jackson-DataBind (qui est celui de jeter l'exception java.lang.NoSuchMethodError) .

Dans votre cas, pour la version java-jwt 3.1.0, vous devez avoir la version 2.8.4 de jackson-databind ou la nouvelle 2.9.0.