当前位置: 首页 > 知识库问答 >
问题:

更正应用程序的类路径,使其包含一个兼容版本的io.jsonwebtoken.Signature算法

司马高昂
2023-03-14

我有个问题。试图更改版本(如互联网上所说),但没有任何帮助。我在尝试使用docker composer部署项目时遇到此错误

问题:

The method's class, io.jsonwebtoken.SignatureAlgorithm, is available from the following 
 locations:
jar:file:/app/libs/jjwt-0.9.1.jar!/io/jsonwebtoken/SignatureAlgorithm.class
jar:file:/app/libs/jjwt-api-0.11.2.jar!/io/jsonwebtoken/SignatureAlgorithm.class
It was loaded from the following location:
    file:/app/libs/jjwt-0.9.1.jar

慰问:

应用程序启动失败

说明:

尝试调用不存在的方法。尝试从以下位置进行:

io.jsonwebtoken.security.Keys.hmacShaKeyFor(Keys.java:84)

以下方法不存在:

io.jsonwebtoken.SignatureAlgorithm.getMinKeyLength()I

方法的类io。jsonwebtoken。SignatureAlgorithm可从以下位置获得:

jar:file:/app/libs/jjwt-0.9.1.jar!/io/jsonwebtoken/SignatureAlgorithm.class
jar:file:/app/libs/jjwt-api-0.11.2.jar!/io/jsonwebtoken/SignatureAlgorithm.class

它从以下位置加载:

file:/app/libs/jjwt-0.9.1.jar

措施:

更正应用程序的类路径,使其包含一个兼容版本的io.jsonwebtoken.Signature算法

这是我的pom.xml:

<dependency>
        <groupId>io.jsonwebtoken</groupId>
        <artifactId>jjwt-impl</artifactId>
        <version>0.11.2</version>
        <scope>runtime</scope>
    </dependency>

    <dependency>
        <groupId>io.jsonwebtoken</groupId>
        <artifactId>jjwt-jackson</artifactId>
        <version>0.11.2</version>
        <scope>runtime</scope>
    </dependency>

    <dependency>
        <groupId>io.jsonwebtoken</groupId>
        <artifactId>jjwt</artifactId>
        <version>0.9.1</version>
    </dependency>-->
    <dependency>
        <groupId>io.jsonwebtoken</groupId>
        <artifactId>jjwt-api</artifactId>
        <version>0.11.2</version>
    </dependency>

共有1个答案

澹台俊达
2023-03-14

根据文档,您只需要以下依赖项:

<dependency>
    <groupId>io.jsonwebtoken</groupId>
    <artifactId>jjwt-impl</artifactId>
    <version>0.11.2</version>
    <scope>runtime</scope>
</dependency>

<dependency>
    <groupId>io.jsonwebtoken</groupId>
    <artifactId>jjwt-jackson</artifactId>
    <version>0.11.2</version>
    <scope>runtime</scope>
</dependency>

<dependency>
    <groupId>io.jsonwebtoken</groupId>
    <artifactId>jjwt-api</artifactId>
    <version>0.11.2</version>
</dependency>

缺少的类/方法是Jwts.parserBuilder()仍然可用,但可能在版本之间移动了。从类中删除导入并允许您的IDE重新导入它,应该可以解决这个问题。

(上下文见问题下的评论)

 类似资料: