将 mongo-java-driver:3.12.14 升级到 mongodb-driver-sync:4.11.1 会出现 NoClassDefFoundError

问题描述 投票:0回答:1

我正在尝试将 mongo-java-driver:3.12.14 升级到 mongodb-driver-sync:4.11.1。进行所有必要的更改并解决编译错误后,我遇到了 NoClassDefFoundError 的运行时问题。

Caused by: java.lang.NoClassDefFoundError: com/mongodb/internal/diagnostics/logging/Loggers
    at com.mongodb.client.internal.MongoClientImpl.<clinit>(MongoClientImpl.java:66)
    at com.mongodb.client.MongoClients.create(MongoClients.java:108)
    at org.springframework.boot.autoconfigure.mongo.MongoClientFactorySupport.createMongoClient(MongoClientFactorySupport.java:50)
    at org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration.mongo(MongoAutoConfiguration.java:56)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:568)
    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154)
    ... 212 mofrom re
Caused by: java.lang.ClassNotFoundException: com.mongodb.internal.diagnostics.logging.Loggers
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
    ... 221 more


我已更新 gradle 文件如下:

dependency("org.mongodb:mongo-java-driver:3.12.14")
变成
dependency("org.mongodb:mongodb-driver-sync:4.11.1")

并进行了所有必要的代码更改以解决编译时问题。在 gradle 中,运行时类路径也更新为正确的版本。 runtime classpath in gradle

mongodb gradle mongo-java-driver
1个回答
0
投票

查看了 Mongo Sync 驱动程序 API 文档 https://www.mongodb.com/docs/drivers/java/sync/v4.11/compatibility/ 我没有看到任何参考

com.mongodb.internal.*

我建议阅读本文档以了解哪些内容已被弃用/删除。从 3.12 跳跃到 4.11 需要几年的演变,因此在如此广阔的范围内变化是不可避免的。

© www.soinside.com 2019 - 2024. All rights reserved.