下午遭遇了eclipse自带ant跑的时候编译到一半失去响应的问题,但是如果使用命令执行任务一切ok。
Google 时发现有人说ecplise和ant集成,有中文乱码的问题。会造成ant执行停止。
对比后发现,的确是在输出中文的前一句停住了(编译器有提示警告信息)
【问题确认】将windows区域选项设置为英文,运行,一切ok(编译器提示信息英文)。
【解决】
方式1:
设置项目文件的字符集为utf8
字符集的设置
eclipse--> window-->Preferences
1.工作空间的字符集
General-->Workspace-->text file encoding
这个是选择整体的文件编码方式
2.CSS,DTD,HTML,JavaScript,JSP,XML字符集设置
MyEclipse-->Files and Editors
选择对应的项,右边会出来编码的选择
方式2:
由于项目文件的字符集一般不应当随意变更,因此上网搜索修改console输出的字符集
选中build.xml,找一个target然后右键,Run As-->External Tools Configuration
找到Common/Encoding 指定为UTF-8
然后在跑,就ok了。
顺便解决的问题,如果有多个jdk,在跑ant的时候需要指定用哪个,也是在这个地方指定(仅在eclipse中指定是不够的)
另有人说在run 的时候 Add VM argument: -Dfile.encoding=UTF-8 也可以,这个我没有试。
总得来说网上人大多很懒,加上ant的这个选项太隐藏,占用了me不少的时间。
ref:http://eggboss.javaeye.com/blog/639841