其实这个和java的properties现象类似,是由于ant采用默认的文件编码格式解析java文件而导致java文件识别错误。
我在查看了ant的官网后,其中发现这样一个属性,现把原文截取如下:
encoding | Encoding of source files. (Note: gcj doesn't support this option yet.) | No |
我的ant脚本文件片段:
<target name="javac.task" depends="clean">
<mkdir dir="${cuvpns.build.dir}" />
<javac srcdir="${cuvpns.src.dir}" destdir="${cuvpns.build.dir}"
debug="on" >
<classpath refid="cuvpns.classpath" />
<include name="com/wri/hy/util/**"/>
<include name="com/wri/hy/vpn/dao/**"/>
<include name="com/wri/hy/vpn/exception/**"/>
<include name="com/wri/hy/vpn/model/**"/>
<include name="com/wri/hy/vpn/util/**"/>
<include name="com/wri/hy/vpn/gui/client/**"/>
<include name="com/wri/hy/vpn/gui/common/**"/>
<include name="com/wri/hy/vpn/interfaces/backEnd2clientgui/**"/>
<include name="com/wri/hy/vpn/interfaces/serverBackEnd2clientBackEnd/**"/>
<include name="com/wri/hy/vpn/backend/backEnd2clientgui/**"/>
<include name="com/wri/hy/vpn/backend/common/**"/>
<include name="com/wri/hy/vpn/backend/serverBackEnd2clientBackEnd/**"/>
<include name="com/wri/hy/vpn/backend/ClientBackEndFactory.java"/>
</javac>
</target>
编译出错!
修改后的文件:
<target name="javac.task" depends="clean">
<mkdir dir="${cuvpns.build.dir}" />
<javac srcdir="${cuvpns.src.dir}" destdir="${cuvpns.build.dir}"
debug="on" encoding="UTF-8">
<classpath refid="cuvpns.classpath" />
<include name="com/wri/hy/util/**"/>
<include name="com/wri/hy/vpn/dao/**"/>
<include name="com/wri/hy/vpn/exception/**"/>
<include name="com/wri/hy/vpn/model/**"/>
<include name="com/wri/hy/vpn/util/**"/>
<include name="com/wri/hy/vpn/gui/client/**"/>
<include name="com/wri/hy/vpn/gui/common/**"/>
<include name="com/wri/hy/vpn/interfaces/backEnd2clientgui/**"/>
<include name="com/wri/hy/vpn/interfaces/serverBackEnd2clientBackEnd/**"/>
<include name="com/wri/hy/vpn/backend/backEnd2clientgui/**"/>
<include name="com/wri/hy/vpn/backend/common/**"/>
<include name="com/wri/hy/vpn/backend/serverBackEnd2clientBackEnd/**"/>
<include name="com/wri/hy/vpn/backend/ClientBackEndFactory.java"/>
</javac>
</target>
最后执行ant,java代码可以被正常编译: