我有以下问题:
我在NetBeans
8.2
中有一个非maven项目,该项目具有utf-8
编码
(如右键单击项目属性所示(。
在项目中,我创建了JaxB
xml绑定,所以一些源代码是在generated
文件夹中生成的。
然而,生成的源没有使用utf-8
,所以我得到了
错误:编码UTF-8 时不可映射的字符
如果我尝试编译。
如果我在(netbeansetcnetbeans.conf
(中更改netbeans_default_options
,使其包含行-J-Dfile.encoding=UTF-8
,那么特定项目的问题就解决了——一切都编译得很好。
但这打破了我的其他项目,这些项目不是utf-8
。
我正在寻找不会影响我的其他项目的解决方案。
谢谢。
解决方案添加了以下
<arg value="-encoding"/>
<arg value="UTF-8"/>
进入蚂蚁脚本在…内xml_binding_build
从而得到的xjc看起来像这个
<xjc package="mypackage" destdir="build/generated/jaxbCache/mypackage" catalog="catalog.xml">
<classpath>
<pathelement location="${src.dir}"/>
<pathelement path="${jaxbwiz.xjcrun.classpath}"/>
</classpath>
<arg value="-xmlschema"/>
<arg value="-encoding"/>
<arg value="UTF-8"/>
<schema file="xml-resources/jaxb/mypackage/mypackage.xsd"/>
<depends file="xml-resources/jaxb/mypackage/mypackage.xsd"/>
<produces dir="build/generated/jaxbCache/mypackage"/>
</xjc>
当然,xml_binding_build.xml
是生成的(自动(,通常不应手动编辑。
然而,这种解决方案对我来说已经足够了,它比将每个项目转换为utf-8
要好。