错误:不支持:将jaxb2-maven-plugin与jdk8一起使用时的缩进号码

时间:2016-12-29 20:00:42

标签: java maven jaxb2 jaxb2-maven-plugin

我有一个用java6编译的项目。它使用jaxb2-maven-plugin为Web服务生成XSD。

我正在尝试移植此项目以使用java8编译/运行。为此,我将jaxb2-maven-plugin版本从1.3.1升级到2.2

但是当我使用“mvn clean install”构建项目时,我收到以下错误:

--
[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)
--

我用Google搜索了这个错误,发现这是由于旧的java6已经附带xalan转换器支持了这一点。但我不知道如何解决这个问题,因为我正在使用插件,而不是在我自己的代码中进行任何转换。

任何帮助表示感谢。

1 个答案:

答案 0 :(得分:2)

看来他们在2.2版本发布之前已明确解决了这个问题,但它已被标记为2.3版本。

https://github.com/mojohaus/jaxb2-maven-plugin/issues/40

尝试更新到2.3。