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的主要内容,如果未能解决你的问题,请参考以下文章