我有一个用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转换器支持了这一点。但我不知道如何解决这个问题,因为我正在使用插件,而不是在我自己的代码中进行任何转换。
任何帮助表示感谢。
答案 0 :(得分:2)
看来他们在2.2版本发布之前已明确解决了这个问题,但它已被标记为2.3版本。
https://github.com/mojohaus/jaxb2-maven-plugin/issues/40
尝试更新到2.3。