Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

507
Vistas
Actualización del controlador Java de Mongo de 3.12.1 a 4.2.3 arrojando excepciones de método/clase no encontradas en la implementación

Tengo una aplicación java basada en el servidor mongo 4.2 y las versiones de los componentes son las siguientes

 spring-boot 2.2.5.RELEASE spring-data-mongodb2.2.5.RELEASE mongo-java-driver3.12.1

Actualicé Spring Boot a 2.5.8, por lo tanto, hice algunos cambios para actualizar las dependencias de la siguiente manera

 spring-boot2.5.8 spring-starter-parent2.5.8 spring-data-mongodb 3.2.3 mongodb-driver-core 4.2.3 <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-mongodb</artifactId> <version>3.2.3</version> </dependency> <dependency> <groupId>org.mongodb</groupId> <artifactId>mongodb-driver-core</artifactId> <version>4.2.3</version> </dependency> <dependency> <groupId>org.mongodb</groupId> <artifactId>mongodb-driver-sync</artifactId> <version>4.2.3</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.5.8</version> </dependency>

Como usé recién agregado

 **import com.mongodb.client.MongoClient; import com.mongodb.client.MongoClients;**

es decir, la API moderna que usa el controlador mongo-java 3.12.1 Actualicé a mongodb-driver-sync 4.2.3

Resolví todos los errores de compilación, pero en la implementación obtuve errores como el método no encontrado para getSrvHost () en una depuración adicional que encontró que la antigua dependencia de mongo-java-driver 3.3.0 ya estaba presente en el proyecto

Excluí que la dependencia y el problema anterior se resolvieron ahora que no hay una dependencia anterior presente, pero aún aparece el siguiente error sin usar el enfoque de API heredada

 java.lang.NoClassDefFoundError: com/mongodb/MongoClient Caused by: java.lang.NoClassDefFoundError: com/mongodb/MongoClient

Completamente atascado en este punto en el proceso de actualización del controlador y Spring, sin usar com.mongodb.MongoClient en todo el proyecto, arroja un error en la implementación.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Se recomienda usar spring-boot-starter-parent como <parent> para usar versiones compatibles.

Simplemente agregue la dependencia spring-boot-starter-data-mongodb y tendrá todos los controladores MongoDB necesarios.
Eliminar de pom.xml : spring-data-mongodb , mongodb-driver-core , spring-starter-parent

Nota: Utilice siempre la última versión, ya que la 2.5.8 tiene 3 vulnerabilidades

pom.xml

 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.6.2</version> <relativePath/> </parent> ... <dependencies> ... <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency> </dependencies>

Jerarquía de dependencia

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda