The spring-cloud-azure-feature-management module currently still depends on Jackson 2. However, Spring Boot 4 has removed Jackson 2 support and is based on Jackson 3.
This leads to classpath conflicts when using Spring Boot 4 together with Jackson 3, as both Jackson 2 and Jackson 3 artifacts are pulled in. As a result, applications may experience runtime issues such as ClassNotFoundException, NoSuchMethodError, or inconsistent serialization behavior.
https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/spring/spring-cloud-azure-feature-management/pom.xml#L51
Expected Behavior:
- The library should be fully compatible with Spring Boot 4.
- Jackson 2 dependencies should be removed.
- The module should migrate to Jackson 3 APIs.
Actual Behavior:
- Jackson 2 is still included as a dependency.
- Conflicts occur when applications use Jackson 3.
Steps to Reproduce:
- Create a Spring Boot 4 project.
- Add spring-cloud-azure-feature-management as a dependency.
- Use Jackson 3 (default in Spring Boot 4).
- Observe dependency conflicts and potential runtime errors.
The spring-cloud-azure-feature-management module currently still depends on Jackson 2. However, Spring Boot 4 has removed Jackson 2 support and is based on Jackson 3.
This leads to classpath conflicts when using Spring Boot 4 together with Jackson 3, as both Jackson 2 and Jackson 3 artifacts are pulled in. As a result, applications may experience runtime issues such as ClassNotFoundException, NoSuchMethodError, or inconsistent serialization behavior.
https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/spring/spring-cloud-azure-feature-management/pom.xml#L51
Expected Behavior:
Actual Behavior:
Steps to Reproduce: