The plugin uses the com.sun.tools.xjc.Driver API and according to Git history this has been the case for at least 4 years. Note that this class is provided by the standalone JAXB RI, not the JRE/JDK (which provides com.sun.tools.internal.xjc.Driver). Currently the plugin uses the JAXB artifacts with group ID org.glassfish.jaxb. I think that is the right choice. They appear to be actively maintained: the most recent jaxb-xjc is 2.3.2 from beginning of 2019. What's missing right now is to make the plugin work on recent Java versions. I think that with my workaround for the Classworlds bug, it should be enough to upgrade jaxb-xjc to the most recent version and get rid of the build profiles that attempt to work around Java compatibility issues in previous versions of jaxb-xjc.
Andreas On Mon, Mar 25, 2019 at 9:11 AM Jochen Wiedmann <[email protected]> wrote: > > On Mon, Mar 25, 2019 at 9:36 AM Andreas Veithen > <[email protected]> wrote: > > > > The issue actually has nothing to do with support for namespaces, and > > neither JAXB nor the JDK are at fault here. The problem is caused by a > > latent bug in Plexus Classworlds that is triggered by a change in the > > ClassLoader class in Java 9. > > Be that as it may. Lennarts question needs an answer, due to the > simple fact, that we can no longer depend on JAXB being available with > the JDK. > > I have to admit, that I didn't follow the JAXB 2 development over the > past years, so I am not really uptodate. Please correct me, if I am > wrong with the following: > > - The JAXB RI (which has been part of the JDK) is nowadays maintained on [1]. > - I doubt, that there is real development. However, there are forks. > which do seem to be somewhat active, for example or [3]. (Just notice, > that this is, indeed, Lennarts.) > I see nothing, which is pushing out releases? > > > My personal recommendation would be to introduce adapters for > launching the binding generator. The respective adapters (and adapter > versions) could be locked to a particular version of JAXB-RI, > EclipseLink, or whatever else is out in the wild. Users should be able > to select a suitable adapter / adapter version, and keep that stable > over different versions of the Mojo, thus ensuring stable builds. > > Questions: Do we still depend on the presence of an external xjc, or > can we have the RI embedded? Same question for EclipseLink? > > Jochen > > > 1: https://github.com/eclipse-ee4j/jaxb-ri > 2: https://github.com/highsource/maven-jaxb2-plugin > 3: https://github.com/lennartj/jaxb-ri > > -- > You received this message because you are subscribed to the Google Groups > "mojohaus-dev" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/mojohaus-dev/CAF8HOZKmwogZKXbGuF-%3Dy9M1e0y0P26Dm9jeBq0KeabCQuKqQA%40mail.gmail.com. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "mojohaus-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/mojohaus-dev/CADx4_uUz1yyrod3Z-_EDt5zcRv5bpcF5Nq7M%2Be5UT67Xqs7Oag%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
