![](/img/trans.png)
[英]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.