Java 运行JJWT Json令牌时发生运行时或类错误

Java 运行JJWT Json令牌时发生运行时或类错误,java,token,Java,Token,我有个小问题。我一直在尝试使用不同的库来生成json令牌,现在我正在使用来自Stormpath的JJWT。他们对教程有很好的解释。但我的问题是,当我尝试在“publicstaticvoidmain”方法中运行String方法时,会出现运行时或类错误。在他们的官方网站上说,有一个要求,杰克逊图书馆必须比2.8版更新。所以我下载了这样的库 这里是我的源代码: package org.comunidadIT.proyecto.accesoDatos; import java.security.Key

我有个小问题。我一直在尝试使用不同的库来生成json令牌,现在我正在使用来自Stormpath的JJWT。他们对教程有很好的解释。但我的问题是,当我尝试在“publicstaticvoidmain”方法中运行String方法时,会出现运行时或类错误。在他们的官方网站上说,有一个要求,杰克逊图书馆必须比2.8版更新。所以我下载了这样的库

这里是我的源代码:

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)
线程“main”java.lang.NoSuchFieldError中的异常:使用默认值 位于com.fasterxml.jackson.annotation.JsonInclude$Value.(JsonInclude.java:204) 位于com.fasterxml.jackson.databind.cfg.MapperConfig.(MapperConfig.java:44) 位于com.fasterxml.jackson.databind.ObjectMapper。(ObjectMapper.java:549) 位于com.fasterxml.jackson.databind.ObjectMapper。(ObjectMapper.java:465) 位于io.jsonwebtoken.impl.DefaultJwtBuilder。(DefaultJwtBuilder.java:42) 位于io.jsonwebtoken.Jwts.builder(Jwts.java:116) 位于org.comunidadIT.proyecto.accesoDatos.ValidarToken.token(ValidarToken.java:16) 位于org.comunidadIT.proyecto.accesoDatos.ValidarToken.main(ValidarToken.java:27)

正如您所看到的那样,jackson的依赖关系似乎很好

此外,我在参考库的构建路径上附加了更多库,但它们位于pom.xml之外

我做错了什么


谢谢

我自己回答,也许有人会有同样的问题

我处理这个问题已经有一个月了,直到我有勇气删除我项目中的一些旧库

问题似乎是我声明了对jackson 2.8.2或更高版本的Maven依赖,在“参考库”中,我的库低于1.9,当我从构建路径中删除时,问题就消失了。现在我可以看到字符串标记了


多谢各位

我自己回答,也许有人也会有同样的问题

我处理这个问题已经有一个月了,直到我有勇气删除我项目中的一些旧库

问题似乎是我声明了对jackson 2.8.2或更高版本的Maven依赖,在“参考库”中,我的库低于1.9,当我从构建路径中删除时,问题就消失了。现在我可以看到字符串标记了


多谢各位

对于我来说,我只是忘记添加项目依赖项“io.jsonwebtoken:jjwt jackson:0.11.2”。对于我来说,我只是忘记添加项目依赖项“io.jsonwebtoken:jjwt jackson:0.11.2”