今天耐着性子在Ubuntu 13.04上重新部署几年前安装过的SIR数据集中的xml-security,结果遇到了很多问题,准备不和这个玩了。但是这个error的解决方法还是准备记录一下,报了很多这样的error,在Terminal中,定位到某一个报错的Java文件,输入:
$ file Canonicalizer20010315.java
Canonicalizer20010315.java: ISO-8859 text
可以看到是因为Java文件的编码方式是ISO-8859,解决方法其实也挺简单的, 参考StackOverflow里的帖子 ,最简单的方法是在Build.xml文件中,在所有出现Javac的地方,增加一个选项:encoding=”ISO-8859-1″,例如:
<javac srcdir="${build.src}" destdir="${build.classes}" encoding="ISO-8859-1">
<classpath refid="classpath.library" />
</javac>
当然,上面那个帖子说了,可以使用<presetdef>来进行统一设置,但是我对Ant不熟悉,也没时间搞清楚怎么设置,有兴趣的朋友可以试试。