2017-04-18 7 views
0

少し問題があります。私はjsonトークンを生成するために別のライブラリを使用しようとしていましたが、今はStormpathからJJWTを使用しています。彼らはチュートリアルをよく説明しています。しかし、私の問題は、 "public static void main"メソッドでStringメソッドを実行しようとすると、ランタイムまたはクラスエラーが発生することです。彼らの公式ウェブサイトでは、jacksonライブラリがバージョン2.8より新しいものでなければならないという再評価があると言います。だから私はそのようなライブラリをダウンロードしました。JJWT Jsonトークンを実行しているランタイムまたはクラスエラー

ここに私のソースコード:

package org.comunidadIT.proyecto.accesoDatos; 

import java.security.Key; 
import io.jsonwebtoken.Jwts; 
import io.jsonwebtoken.SignatureAlgorithm; 
import io.jsonwebtoken.impl.crypto.MacProvider; 

public class ValidarToken { 

    public String token(){ 
     // We need a signing key, so we'll create one just for this example. Usually 
     // the key would be read from your application configuration instead. 
     Key key = MacProvider.generateKey(); 

     String compactJws = Jwts.builder() 
      .setSubject("Joe") 
      .signWith(SignatureAlgorithm.HS512, key) 
      .compact(); 

     return compactJws; 
    } 

    public static void main(String args[]){ 

     ValidarToken t= new ValidarToken(); 
     System.out.println(t.token()); 
    } 

} 

エラーメッセージ次のコンソールショー:あなたはジャクソンの依存関係を見ることができるように

Exception in thread "main" java.lang.NoSuchFieldError: USE_DEFAULTS 
at com.fasterxml.jackson.annotation.JsonInclude$Value.<clinit>(JsonInclude.java:204) 
at com.fasterxml.jackson.databind.cfg.MapperConfig.<clinit>(MapperConfig.java:44) 
at com.fasterxml.jackson.databind.ObjectMapper.<init>(ObjectMapper.java:549) 
at com.fasterxml.jackson.databind.ObjectMapper.<init>(ObjectMapper.java:465) 
at io.jsonwebtoken.impl.DefaultJwtBuilder.<clinit>(DefaultJwtBuilder.java:42) 
at io.jsonwebtoken.Jwts.builder(Jwts.java:116) 
at org.comunidadIT.proyecto.accesoDatos.ValidarToken.token(ValidarToken.java:16) 
at org.comunidadIT.proyecto.accesoDatos.ValidarToken.main(ValidarToken.java:27) 

Image from maven dependencies where appears to be fine with jackson

Image from the console with erros

があるように思われます良い。

また、参照ライブラリのbuild-pathに多くのlibreriesを追加しましたが、pom.xmlの外部にあります。

どうすればいいですか?

は、私はので、おそらく誰かが同じ問題を抱えている可能性が自分自身に答えるあなた

答えて

0

ありがとうございます。

私のプロジェクトにあるいくつかの古いライブラリを削除するまで、私はこの問題に1カ月ほどかかっていました。

問題はジャックソン2.8.2以降でMaven依存であると宣言し、ライブラリが1.9より低くなっている「参照ライブラリ」でビルドパスから削除したときに問題がなくなったと思われたようです。そして今、私はString Tokenを見ることができます。

This is the picture with the problem solved.

ありがとうございます。

関連する問題