I may have sent a note or two earlier on a big challenge for Jackson: due to Oracle's actions, the whole J2EE API has been essentially forked (at technical level), so that all APIs that are/were under "javax." anything, will/are/maybe replicated with equivalent (but from Java classloader perspective wholly unrelated.... :-o) APIs under "jakarta." package/namespace.
Needless to say, this is fucking nightmare for everyone. And it is not exactly fun for components that sit IN-BETWEEN users of Java service interfaces and platforms that provide them (like Jersey, RESTeasy, Servlet, CXF; or frameworks building on top of that like DropWizard). With Jackson 2.12 we attempted to post-process existing JAXB/JAX-RS packages so that there'd be alternate jars that were shaded to refer to Jakarta APIs, but published under Maven classifier of "jakarta". While this could/might work, it seemed that there are fundamental challenges in properly rewriting all necessary metadata, and it is unclear if that could actually be achieved. While others in the bigger Java community are working along this route, I decided that for Jackson project, it is better to rip off the band aid and use Good Old Forking approach and solve it with bit of duplication. So, with Jackson 2.13 we now have TWO Java Xml Binding annotation introspection packages (both under "jackson-modules-base" -- https://github.com/FasterXML/jackson-modules-base -- repo); 1. Existing JAXB introspector -- `jackson-module-jaxb-annotations` (see https://github.com/FasterXML/jackson-modules-base/tree/master/jaxb) 2. New Jakarta XmlBind introspector -- `jackson-module-jakarta-xmlbind-annotations` (https://github.com/FasterXML/jackson-modules-base/tree/master/jakarta-xmlbind) Depending on which XML Bind annotations you expect to use, select the proper package and introspector: class names are different to make it easier to detect possible issues. Note that you also CAN use BOTH using "AnnotationIntrospectorPair" approach just as it is used with Jackson native annotations + JAXB! (or all THREE if you really want to support Any & All...) Similarly, there are TWO SETS of Java REST Web Service providers: 1. Existing JAX-RS set via: https://github.com/FasterXML/jackson-jaxrs-providers 2. NEW "Jakarta-RS" set from https://github.com/FasterXML/jackson-jakarta-rs-providers Similar to XML Bind annotations, you (or your platform provider, more likely) will need to select the choice that works for you. As far as I understand, right now Jersey may be the only provider that fully supports Jakarta-RS, but others (RESTeasy, Restlet, CXF) are working along solutions. Ok, so, that was a long explanation of this detour. But I mentioned something about .... help? Since I do not currently have a Jakarta-RS enabled platform to use (as in, my day job is strictly based on old JAX-RS for the time being), I don't have a good way to test out whether what I have created actually works for real use. It is also possible that some work would be needed on framework side, too, for "alternate" Jackson provider. But I would very much like to figure it out: writing something that is supposed to work, but doesn't, is worse than writing nothing (and more so for publishing). So... anyone who would like to try out new providers (esp. JSON of course) with, say, Jersey 3(.0.2)? Or equally usefully, knows (or is...) a member of dev community for one of other JAX-RS implementations, and would be interested in figuring out the upgrade path? And beyond direct validation / integration path, any other help would be greatly appreciated as well! -+ Tatu +- ps. This issue is quickly becoming the main deliverable for Jackson 2.13 release, if anyone is curious about why there is this new focus on this particular change. -- You received this message because you are subscribed to the Google Groups "jackson-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to jackson-dev+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jackson-dev/CAL4a10hJAUzXmdb8%2B1JODKVnoEBf5rsSYzipscS45L_J%2Bcu81w%40mail.gmail.com.