如何使cxf-xjc-plugin在utf-8中生成源代码
我尝试使用cxf-xjc-plugin在maven项目中从xsd生成java类。
它运行正常,但生成的源文件获得特定于平台的编码(在Windows PC上为cp1251)而不是utf-8。 如果任何xsd类型在模式注释中包含非拉丁字符,那么它们仅在该特定编码中变得可读,并且编译器稍后会以[WARNING] /C:/.../SomeType.java:[17,4] unmappable character for encoding UTF-8
抱怨[WARNING] /C:/.../SomeType.java:[17,4] unmappable character for encoding UTF-8
。
请帮助我强制utf-8生成源代码。
源编码设置为
UTF-8
构建插件的设置如下:
... org.apache.cxf cxf-xjc-plugin 2.7.0 org.apache.cxf.xjcplugins:cxf-xjc-dv:2.7.0 net.java.dev.jaxb2-commons:jaxb-fluent-api:2.1.8 generate-sources generate-sources xsdtojava ${basedir}/target/generated-sources true ${basedir}/src/main/resources/schemas/Policy.xsd ${basedir}/src/main/resources/schemas/Policy.xjb -Xdv -Xfluent-api ...
在阅读了xjc的一些旧问题之后,特别是CXF-4369和JAXB-499我尝试使用maven项目属性utf-8
强制编码并在运行mvn -Dfile.encoding=utf-8 clean install
设置系统属性mvn -Dfile.encoding=utf-8 clean install
,但无处可去。
我可以通过在xsdOption元素中添加以下条目来使cxf-xjc-plugin生成UTF-8中的源:
-encoding UTF-8