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

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

Caused by: java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/JsonDeserializer
    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

标签: kotlin ktor


【解决方案1】:

我遇到了同样的问题。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-09-20
    • 1970-01-01
    • 2021-09-04
    • 2020-10-29
    • 2020-11-24
    • 2015-08-02
    • 2015-03-01
    • 1970-01-01
    相关资源
    最近更新 更多