在Netbeans中更改每个项目(非Maven)的Jaxb生成的文件编码

时间:2018-11-19 11:00:04

标签: java netbeans encoding ant jaxb

我遇到以下问题:

我在NetBeans 8.2中有一个非行家项目,其中的编码为utf-8

(如显示-右键单击projectct属性)。

在项目中,我创建了JaxB xml bindig,因此在generated文件夹中生成了一些源。

但是gerenreted来源没有使用utf-8,所以我得到了

  

错误:编码UTF-8的字符不可映射

如果我尝试顺从。

如果我在{netbeans netbeans_default_options中更改etc\netbeans.conf,使其与行-J-Dfile.encoding=UTF-8对应,则解决了特定项目的问题-一切正常。

但这破坏了我的其余项目,这些项目不是utf-8

我正在寻找不会影响其余项目的解决方案。

谢谢。

1 个答案:

答案 0 :(得分:0)

解决方案正在添加以下内容

<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更好。