[英]MongoDB Java Driver: The type com.mongodb.client.model.InsertOneOptions cannot be resolved. It is indirectly referenced from required .class files
[英]mongodb Java Driver build error : cannot access com.mongodb.client.result.InsertOneResult, class file not found
我正在关注最新 (4.2.2) Mongodb Java 驱动程序的安装和快速入门。 我收到此编译错误:
Error:(29, 29) java: cannot access com.mongodb.client.result.InsertOneResult class file for com.mongodb.client.result.InsertOneResult not found
这是一个更大项目的一部分,所以 class 路径上的某个地方是否有另一个版本的 mongo?
只有一个 pom,就是这个,直接来自安装页面:
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver-sync</artifactId>
<version>4.2.2</version>
</dependency>
我正在使用 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);
}
}
您需要所有三个依赖项,但它们都应该是相同的版本,例如
如果你只依赖 mongodb-driver-sync,其他的应该被传递。 但听起来某处存在冲突,导致您选择旧版本的 bson 和 mongodb-driver-core。 您将需要确定冲突的来源并解决它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.