Error: Not supported: indent-number when using jaxb2-maven-plugin with jdk8

1.2k views Asked by At

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.

1

There are 1 answers

0
Greg Chabala On BEST ANSWER

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.