Skip to content

Migrate Jackson from javax to jakarta namespace #135

@tkvangorder

Description

@tkvangorder

Jackson provides alternate artifacts to support the move to the jakarta namespace. This recipe will help a user by migrating jackson's javax specific modules to their jakarta counterparts.

Specifics:

JAXB Annotations:

com.fasterxml.jackson.module:jackson-module-jaxb-annotations -> com.fasterxml.jackson.module:jackson-module-jakarta-xmlbind-annotations

JAX-RS Providers:

com.fasterxml.jackson.jaxrs:jackson-jaxrs-cbor-provider  -> com.fasterxml.jackson.jakarta.rs:jackson-jakarta-rs-cbor-provider
com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider  -> com.fasterxml.jackson.jakarta.rs:jackson-jakarta-rs-json-provider
com.fasterxml.jackson.jaxrs:jackson-jaxrs-smile-provider -> com.fasterxml.jackson.jakarta.rs:jackson-jakarta-rs-smile-provider
com.fasterxml.jackson.jaxrs:jackson-jaxrs-xml-provider   -> com.fasterxml.jackson.jakarta.rs:jackson-jakarta-rs-xml-provider
com.fasterxml.jackson.jaxrs:jackson-jaxrs-yaml-provider  -> com.fasterxml.jackson.jakarta.rs:jackson-jakarta-rs-yaml-provider

JSONP Support:

com.fasterxml.jackson.datatype:jackson-datatype-jsr353  -> com.fasterxml.jackson.datatype:jackson-datatype-jsonp
org.glassfish:javax.json -> org.glassfish:jakarta.json:2.0.0 (If this dependency is present, it should be migrated as well)

There is also a need to modify code where the old JSONP module is being registered with the object mapper:

com.fasterxml.jackson.datatype.jsr353.JSR353Module -> com.fasterxml.jackson.datatype.jsonp.JSONPModule

Code samples where this change will be seen:

mapper.registerModule(new JSR353Module()) -> mapper.registerModule(new JSONPModule());

...

ObjectMapper mapper = JsonMapper.builder()
    .addModule(new JSR353Module()) -> .addModule(new JSONPModule())
    .build();

Metadata

Metadata

Assignees

Labels

recipeRecipe requested

Type

No type

Projects

Status

Done

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions