Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

[Sugerencia] Al usar jackson-databind

Estube investigando y haciendo algunas pruebas y me di cuenta que jackson-databind en su version 2.21.0 no es compatible con Spring Boot 3.3.5, asi que cambie la version de Jackson a una version inferior como 2.20.2 y funcionó.

        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.20.2</version>
        </dependency>

Lo curioso es que al usar spring-boot-starter-json sin la dependencia de Jackson, tambien funciona

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-json</artifactId>
    </dependency>

Lo que entiendo es que spring-boot-starter-json incorporó Jackson en alguna de sus actualizaciones
Si alguien pudiera ayudarme a entender se lo agradeceria

1 respuesta

Hola Luis, espero que estés bien

¡Qué bueno que estás explorando y haciendo pruebas con las dependencias de tu proyecto! Entiendo que te has encontrado con un problema de compatibilidad entre la versión 2.21.0 de jackson-databind y Spring Boot 3.3.5, y que al cambiar a la versión 2.20.2 de Jackson, todo funcionó correctamente. Esto puede suceder debido a cambios en las bibliotecas que no son compatibles con ciertas versiones de Spring Boot.

En cuanto a tu observación sobre spring-boot-starter-json, tienes toda la razón. Este starter incluye Jackson por defecto, lo que significa que no necesitas añadir manualmente la dependencia de Jackson a tu pom.xml si ya estás utilizando spring-boot-starter-json. Spring Boot gestiona las versiones de las bibliotecas que incluye, asegurándose de que sean compatibles entre sí, lo cual es una de las grandes ventajas de usar Spring Boot.

Por ejemplo, al incluir solo:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-json</artifactId>
</dependency>

Spring Boot se encargará de traer la versión adecuada de Jackson que sea compatible con la versión de Spring Boot que estás utilizando. Esto simplifica mucho la gestión de dependencias y reduce el riesgo de incompatibilidades.

Espero que esta explicación te ayude a entender por qué funcionó sin la dependencia explícita de Jackson. ¡Sigue explorando y aprendiendo!

Espero haber ayudado y buenos estudios!