On Mon, Oct 8, 2018 at 5:13 PM Lennart Jörelid <[email protected]> wrote: > > Hello all, > > I am pondering the future of the JAXB2 Maven plugin, following three rather > problematic properties: > > The JAXB2-Maven-Plugin was implemented to delegate Java compilation and XML > or Schema compilation to the tools within the JDK. > The JAXB support including tooling is removed from JDK 11 and onwards. > The tooling contains subtle but rather serious bugs which has created a > decently complex mess of workarounds within the plugin. For example - the XML > schema created from one of the integration tests within the plugin generates > incorrect results in JDK9+, as shown in the snippet below. The JDK8 schemagen > tool generates a schema element [including child elements] with correct > namespace prefix, implying that the schema element correctly resides within > the XMLSchema namespace. The JDK9 and JDK10 schemagen tools incorrectly > generates a schema element without a namespace prefix, implying that the > schema element is placed within the targetNamespace, which is normally the > target of each schemagen compilation for each unique XML namespace within the > compilation unit.
That issue is in fact caused by MNG-6506 and there is a workaround: https://github.com/mojohaus/jaxb2-maven-plugin/pull/124. > > Snippets: > > JDK 1.8 execution: > ================== > <?xml version="1.0" encoding="UTF-8" standalone="yes"?> > <xs:schema version="1.0" targetNamespace="http://acme.com/customer-api" > xmlns:tns="http://acme.com/customer-api" > xmlns:xs="http://www.w3.org/2001/XMLSchema"> > > JDK 9,10 execution: > ================ > <?xml version="1.0" encoding="UTF-8" standalone="yes"?> > <schema version="1.0" targetNamespace="http://acme.com/customer-api" > xmlns:tns="http://acme.com/customer-api" > xmlns:xs="http://www.w3.org/2001/XMLSchema"> > > So ... We have at least 3 options here: > > File a bug report against the development of JDK 9 and 10 (but if I > understand correctly, there is no development going on within these JDK > releases), and hope that this bug gets fixed. > Find another tool to generate XML Schema from JAXB annotations. This seems > like a better way than the JDK tooling bug approach above, although it > requires a more-or-less complete rewrite of the plugin's internals. Question: > What polyglot Annotation processors or DSL generators do you recommend? > Just freeze development of JMP at JDK 8; simply put the codebase into sunset. > This is doable, but not really desirable. > > What do you think? Which way should we take? > > -- > 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/3bd959d7-c9d7-4d9d-ae8a-5034e07c25a6%40googlegroups.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_uVza9NDZTOg7DV%2BLqF_6pWr3pUAF-ffP5OWhpUd4K08JQ%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
