今天用ant编译war包时,发现大量的如下错误
网上一查,原因是utf文件+bom头的缘故,用eclipse的jdt编译时可以忽略这个问题。java:1: 错误: 非法字符: \65279
解决办法有两个
1.用jdt方式编译,需要在build.xml中加如下设置,并在ant的Lib中添加几个jar包
<property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
但我试了半天,用这种方法会有接踵而来的其他问题。暂时放弃
2.把bom头去掉
find ./src -type f -exec sed -i 's/\xEF\xBB\xBF//' {} \;
这条命令也是网上搜来的,不明觉厉。用过就可以正常编译了。