Search code examples
jaxbjaxb2

Why has AnnotationReader been removed from JAXB reference implementation?


The class com.sun.xml.bind.v2.model.annotation.AnnotationReader was part of jaxb-impl 2.1.6, but has been removed in 2.1.7. Does anybody know why?


Solution

  • JAXB artifacts were restructured in 2.2.11 so a few classes were moved between jaxb-runtime and jaxb-core. AnnotationReader is not the only one. The main reason is (probably) the mavenisation which required rearranging a few classes due to dependency structure.

    Unfortunately the old artifacts com.sun.xml.bind:* has a bit wrong dependency structure so if you just used jaxb-impl before you'd also need jaxb-core. If this was your problem you should move to the new org.glassfish.jaxb:* artifacts as they have the right structure. org.glassfish.jaxb:jaxb-core is a dependency of org.glassfish.jaxb:jaxb-runtime which replaces the old org.glassfish.jaxb:jaxb-impl.

    See also:

    Which artifacts should I use for JAXB RI in my Maven project?