最近项目组将Eclipse3.3升级到Eclipse3.4,用了一段时间,总体感觉还是不错,就是觉得
Ant对中文的支持好像有点问题。发现问题如下: 有时脚本没有执行完,莫名其妙的就自动退出了,也没有任何提示。我发现最多的就是执行javac命令时出现这种情况。
经过我的多次测试,发现是eclipse3.4的ant对中文支持得不好,例如你的ant文件中有这么一句脚本:
<echo message="中文">,
那么这“中文”两字就不能输出了, 甚至连<echo>后面的所有target都没有输出。这样的问题倒是容易解决,不输出中文就得了。但是,你的javac输出中,如果有中文,这个脚本文件的输出也不会正常。怎么办?我查过javac的相关资料,发现javac有如下参数:
-J<flag> Pass <flag> directly to the runtime system( -J<标志> 直接将 <标志> 传递给运行时系统 ),
这样,我们可以使用如下办法,可以使javac在遇到警告或者错误时输出英文,
<javac ...>
...
<compilerarg value="-J-Duser.language=en"/>
</javac>
在<javac>标签中加入<compilerarg value="-J-Duser.language=en"/>,javac的输出就是英文了。
当然,如果你在dos窗口里面运行javac命令,也想让它的输出是英文的话,可以这样写:
javac -J-Duser.language=en TypeName.java
经过我的多次测试,发现是eclipse3.4的ant对中文支持得不好,例如你的ant文件中有这么一句脚本:
<echo message="中文">,
那么这“中文”两字就不能输出了, 甚至连<echo>后面的所有target都没有输出。这样的问题倒是容易解决,不输出中文就得了。但是,你的javac输出中,如果有中文,这个脚本文件的输出也不会正常。怎么办?我查过javac的相关资料,发现javac有如下参数:
-J<flag> Pass <flag> directly to the runtime system( -J<标志> 直接将 <标志> 传递给运行时系统 ),
这样,我们可以使用如下办法,可以使javac在遇到警告或者错误时输出英文,
<javac ...>
...
<compilerarg value="-J-Duser.language=en"/>
</javac>
在<javac>标签中加入<compilerarg value="-J-Duser.language=en"/>,javac的输出就是英文了。
当然,如果你在dos窗口里面运行javac命令,也想让它的输出是英文的话,可以这样写:
javac -J-Duser.language=en TypeName.java