今天用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//' {} \;
这条命令也是网上搜来的,不明觉厉。用过就可以正常编译了。
本文介绍在使用Ant工具编译WAR包时遇到非法字符错误的原因及解决方案。通过去除文件头部的BOM,成功解决了编译过程中的问题。

2万+

被折叠的 条评论
为什么被折叠?



