有没有办法使用ant构建UTF-8源文件

时间:2013-02-10 06:13:43

标签: java ant encoding

我的java文件中有UTF-8字符串文字硬编码。 Eclipse正确构建此应用程序,因此生成的类文件包含UTF-8中的字符串。 但是如果使用ant build.xml,则生成的类文件包含编码不正确的字符串。

我已经尝试将encoding =“UTF-8”添加到javac任务中,但没有成功。

如何解决?

P.S。我知道在源文件中对字符串文字进行硬编码是非常糟糕的做法,但这种情况在我需要它的时候,所以请不要建议将它提取到资源包中。

非常感谢任何帮助

3 个答案:

答案 0 :(得分:1)

正确的方法是

<javac ... encoding="UTF-8" ... />

如果在结果类文件中字符串的编码不正确,则意味着您的源编码可能不是UTF-8,或者这些文件是由其他javac任务编译的,而不是您修改过的。{/ p>

答案 1 :(得分:0)

编码必须与文件的编码匹配。你对utf-8的猜测可能不正确。请检查其他suitable encoding names,如iso-8859-1。

请在How do I set -Dfile.encoding within ant's build.xml?

中查看已提交的答案

答案 2 :(得分:0)

这实际上不是原始问题的答案,但我不希望这个问题没有答案。也许主持人会决定删除它。反正。

使用ant,jdk,windows的特定组合时,这似乎是某种错误。 我挖的很深,并且无法以正常的方式解决这个问题。

所以我决定将字符串外部化为属性文件,这无论如何都是更好的做法......

正常情况下,Mikhail Vladimirov建议的解决方案应该可以正常工作,但不是这次。