Estoy siguiendo la instalación y el inicio rápido de los controladores Java de Mongodb más recientes (4.2.2) . Recibo este error de compilación:
Error: (29, 29) java: no se puede acceder al archivo de clase com.mongodb.client.result.InsertOneResult para com.mongodb.client.result.InsertOneResult no encontrado
Esto es parte de un proyecto más grande, entonces, ¿podría haber otra versión de mongo en algún lugar de la ruta de clase?
Solo hay uno, el pom, y es este, directamente desde la página de instalación:
<dependency> <groupId>org.mongodb</groupId> <artifactId>mongodb-driver-sync</artifactId> <version>4.2.2</version> </dependency>Estoy usando IntelliJ, y en sus Dependencias externas para mongo, tiene lo siguiente:
org.mongodb:bson:3.8.2
org.mongodb:mongodb-driver-core:3.8.2
org.mongodb:mongodb-driver-sync:4.2.2
Aquí está el código:
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); } }Necesita las tres dependencias, pero todas deben ser de la misma versión, por ejemplo
Si toma una dependencia solo en mongodb-driver-sync, los demás deben seleccionarse transitivamente. Pero parece que hay un conflicto en alguna parte que hace que elijas versiones anteriores de bson y mongodb-driver-core. Deberá determinar de dónde proviene ese conflicto y abordarlo.