Die Klasse com.sun.xml.bind.v2.model.annotation.AnnotationReader
war Teil von jaxb-impl 2.1.6, wurde aber in 2.1.7 entfernt. Weiß jemand warum?Warum wurde AnnotationReader aus der JAXB-Referenzimplementierung entfernt?
Antwort
JAXB-Artefakte wurden in 2.2.11
umstrukturiert, so dass einige Klassen zwischen jaxb-runtime
und jaxb-core
verschoben wurden. AnnotationReader
ist nicht der einzige. Der Hauptgrund ist (wahrscheinlich) die Mavenisierung, die aufgrund der Abhängigkeitsstruktur einige Klassen neu anordnen musste.
Leider hat die alte Artefakte com.sun.xml.bind:*
ein bisschen falsche Abhängigkeitsstruktur, also wenn Sie nur jaxb-impl
zuvor verwendet haben, würden Sie auch jaxb-core
benötigen. Wenn das Ihr Problem war, sollten Sie zu den neuen org.glassfish.jaxb:*
Artefakten wechseln, da sie die richtige Struktur haben. org.glassfish.jaxb:jaxb-core
ist eine Abhängigkeit von org.glassfish.jaxb:jaxb-runtime
, die die alte org.glassfish.jaxb:jaxb-impl
ersetzt.
Siehe auch:
Which artifacts should I use for JAXB RI in my Maven project?
Die AnnotationReader
ist jetzt Teil von jaxb-core
.