1

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

このエラーをグーグルで調べたところ、これをサポートする xalan トランスフォーマーに古い java6 が同梱されていたことが原因であることがわかりました。しかし、プラグインを使用していて、自分のコードで変換を行っていないため、これを修正する方法がわかりません。

助けていただければ幸いです。

4

1 に答える 1

2

2.2 リリースの前にこの問題を明示的に修正したようですが、2.3 リリース用にタグ付けされています。

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

2.3にアップデートしてみてください。

于 2016-12-29T20:22:23.890 に答える