I have a project that was compiled with java6. It uses jaxb2-maven-plugin to generate XSD for web services.
I am trying to port this project to compile/run with java8. In order to do that, I upgraded the jaxb2-maven-plugin version from 1.3.1 to 2.2
however when I build my project using "mvn clean install" I get the following error:
--
[INFO] XSD post-processing: Adding JavaDoc annotations in generated XSDs.
[INFO] Processing [4] java sources.
[ERROR] Execution failed.
[ERROR] [Exception]: java.lang.IllegalArgumentException [Message]: Not supported: indent-number
org.apache.xalan.processor.TransformerFactoryImpl.setAttribute(TransformerFactoryImpl.java:485)
org.codehaus.mojo.jaxb2.schemageneration.XsdGeneratorHelper.getFactory(XsdGeneratorHelper.java:544)
org.codehaus.mojo.jaxb2.schemageneration.XsdGeneratorHelper.getHumanReadableXml(XsdGeneratorHelper.java:440)
org.codehaus.mojo.jaxb2.schemageneration.XsdGeneratorHelper.savePrettyPrintedDocument(XsdGeneratorHelper.java:508)
--
I googled for this error and found that it was due to the old java6 having shipped with xalan transformer that supported this. But I am not sure how to fix this as I am using the plugin and not doing any transformation in my own code.
any help appreciated.
It appears they explicitly fixed this issue prior to the 2.2 release, but it's been tagged for the 2.3 release.
https://github.com/mojohaus/jaxb2-maven-plugin/issues/40
Just try updating to 2.3.