我正在关注最新 (4.2.2) Mongodb Java 驱动程序的安装和快速入门。我收到此编译错误:
错误:(29, 29) java: 无法访问 com.mongodb.client.result.InsertOneResult 未找到 com.mongodb.client.result.InsertOneResult 的类文件
这是一个更大项目的一部分,那么类路径上的某个地方可能有另一个版本的 mongo 吗?
pom 只有一个,就是这个,直接来自安装页面:
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver-sync</artifactId>
<version>4.2.2</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
我正在使用 IntelliJ,在它的 mongo 外部依赖项中,它有这些:
org.mongodb:bson:3.8.2
org.mongodb:mongodb-driver-core:3.8.2
org.mongodb:mongodb-driver-sync:4.2.2
这是代码:
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
import java.util.Arrays;
public class MongoTest {
public static void main(String[] args) {
MongoTest mongoTest = new MongoTest();
mongoTest.init();
}
public void init() {
MongoClient mongoClient = MongoClients.create("mongodb://localhost:27017");
MongoDatabase myTestDb = mongoClient.getDatabase("myTestDb");
MongoCollection<Document> collection = myTestDb.getCollection("test");
Document doc = new Document("name", "MongoDB")
.append("type", "database")
.append("count", 1)
.append("versions", Arrays.asList("v3.2", "v3.0", "v2.6"))
.append("info", new Document("x", 203).append("y", 102));
collection.insertOne(doc);
}
}
Run Code Online (Sandbox Code Playgroud)
您需要所有三个依赖项,但它们应该都是相同的版本,例如
如果您仅依赖 mongodb-driver-sync,则应传递其他依赖项。但听起来某处存在冲突,导致您选择旧版本的 bson 和 mongodb-driver-core。您需要确定冲突从何而来并解决它。
| 归档时间: |
|
| 查看次数: |
3567 次 |
| 最近记录: |