gpt4 book ai didi

java.lang.NoClassDefFoundError : io/jsonwebtoken/Jwts - maven spring-boot

转载 作者:行者123 更新时间:2023-12-01 16:22:20 28 4
gpt4 key购买 nike

java.lang.NoClassDefFoundError:io/jsonwebtoken/Jwts

当我使用 mvn spring-boot:run 在本地运行时,没有问题。

但是当我使用 mvn clean install 将应用程序打包到完全可执行的 jar 中,然后将该 jar 作为 systemd 服务运行时,我收到了上面看到的错误。

它来自这一行:

字符串用户 = Jwts.parser()...

一些信息:出现问题的软件包版本:0.11.1平台:Ubuntu 18.04maven pom.xml中相关依赖:

<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt-impl</artifactId>
<version>0.11.1</version>
</dependency>

我还检查了生成的jar文件,依赖项jjwt-impl.0.11.1就在那里:

BOOT-INF.lib.jjwt-impl-0.11.1.jar
BOOT-INF.lib.jjwt-api-0.11.1.jar
BOOT-INF.lib.jjwt-jackson-0.11.1.jar

不知道如何解决这个问题。我认为只需将 io.jsonwebtoken 添加到 Maven 依赖项就可以解决与类路径等相关的所有问题。

我正在应用 spring-boot-maven-plugin 包来创建 jar 并命令 mvn clean install 来创建完全可执行的 jar 文件。

当我从 jar 应用程序中打印出类路径时,它仅指向该 jar 文件本身,而不指向其他地方。我不确定事情是否应该如此。我认为所有依赖项都应该编译到同一个 jar 中,因此从这个意义上说它是有意义的。

还向官方 jjwt 库提出了问题:https://github.com/jwtk/jjwt/issues/599但这可能是一个与 spring-boot 更多相关的问题?

最佳答案

下面在java V18中为我工作,引用自Link

<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt-api</artifactId>
<version>0.11.2</version>
</dependency>
<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-gson</artifactId>
<version>0.11.2</version>
<scope>provided</scope>
</dependency>

关于java.lang.NoClassDefFoundError : io/jsonwebtoken/Jwts - maven spring-boot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62235389/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com