This is a multi-module umbrella project for Jackson modules that are considered foundational, building on core databind, but not including datatype or data format modules, or JAX-/Jakarta-RS providers. Not all "general" modules are included here; this grouping is to be used for more mature (and generally slower moving, stable) modules.
Currently included are:
- Afterburner --
- Blackbird (NEW in 2.12 -- to eventually replace Afterburner)
- Guice
- Java XML Binding Annotation compatibility
- "Old" (
java.xml.bind
) annotations: JAXB Annotations - New "Jakarta" (
jakarta.xml.bind
): Jakarta XML Bind Annotations (added in 2.13)
- "Old" (
- Mr Bean
- No-Constructor-Deserialization (added in 2.13)
- OSGi
- Paranamer
All modules are licensed under Apache License 2.0.
Additionally, 2.x versions of Afterburner
and Mr Bean
use ASM,
licensed as per:
https://asm.ow2.io/license.html
whereas 3.0 will use ByteBuddy (licensed as per https://github.com/raphw/byte-buddy/blob/master/LICENSE)
With 2.13, you need to choose either:
jackson-module-jaxb-annotations
for "old JAXB" (2.x): supportsjavax.xml.bind
annotationsjackson-module-jakarta-xmlbind-annotations
for "new Jakarta JAXB" (3.x): supportsjakarta.xml.bind
annotations
(in theory you can even use both, with databind AnnotationIntrospectorPair
, but more often you will only want one of these)
Note that Jakarta version was added in Jackson 2.13 and was not available for earlier versions.
Alternatively if using Jackson 2.12, there is a specific variant of jackson-module-jaxb-annotations
available, usable with Maven classifier of "jakarta". You can use it instead of "old" JAXB variant
by specifying classifier like so:
<dependency>
<groupId>com.fasterxml.jackson.module</groupId>
<artifactId>jackson-module-jaxb-annotations</artifactId>
<classifier>jakarta</classifier>
</dependency>
See Wiki for more information (javadocs).