java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/JsonDeserializer

Posted

技术标签:

【中文标题】java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/JsonDeserializer【英文标题】: 【发布时间】:2021-11-10 20:35:23 【问题描述】:

我正在使用 Ktor 框架在 Kotlin 中构建服务器端应用程序。当我运行应用程序时,我会收到一个NoClassDefFoundError。堆栈跟踪如下所示:

Caused by: 
    at com.auth0.jwt.JWTVerifier.<init>(JWTVerifier.java:28)
    at com.auth0.jwt.JWTVerifier$BaseVerification.build(JWTVerifier.java:316)
    at com.auth0.jwt.JWTVerifier$BaseVerification.build(JWTVerifier.java:304)
    at com.example.auth.JwtService.<init>(JwtService.kt:18)
    at com.example.ApplicationKt.module(Application.kt:44)

这似乎与我的 JWTVerifier 类中显示的验证器变量有关。

val verifier: JWTVerifier = JWT
        .require(algorithm)
        .withIssuer(issuer)
        .build()

我们将不胜感激。

【问题讨论】:

是 gradle 项目吗?您在依赖项中有杰克逊库吗?哪个版本? 能否分享一个完整的代码 sn-p 或示例项目来重现NoClassDefFoundError 异常? jackson-databind 依赖项可能存在一些问题,因为 java-jwt 工件需要它 search.maven.org/artifact/com.auth0/java-jwt/3.18.1/jar。 【参考方案1】:

我遇到了同样的问题。

我的项目运行没有问题(9 月 15 日之前),我还没有更新任何依赖项。然后它开始崩溃Caused by: java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/JsonDeserializer

修复了更新 Ktor 的问题。我使用的是1.5.4 版本并更新为1.6.3

【讨论】:

以上是关于java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/JsonDeserializer的主要内容,如果未能解决你的问题,请参考以下文章