有没有一种方法可以使用ant构建UTF-8源文件



我在java文件中硬编码了UTF-8字符串文字。Eclipse正确地构建了这个应用程序,所以生成的类文件包含UTF-8格式的字符串。但是,如果使用ant build.xml,则生成的类文件包含编码不正确的字符串。

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

如何修复?

p.s.我知道在源文件中硬编码字符串文字是一种非常糟糕的做法,但当我需要它时,就会出现这种情况,所以请不要建议将它提取到资源包中。

非常感谢您的任何帮助

是正确的方法

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

如果在生成的类文件中,字符串的编码不正确,这意味着您的源编码可能不是UTF-8,或者这些文件是由其他javac任务编译的,而不是您修改的那个任务。

编码必须与文件的编码匹配。你对utf-8的猜测可能不对。请检查其他合适的编码名称,如iso-8859-1。

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

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

在使用ant、jdk和windows的特定组合时,这似乎是某种错误。我挖得很深,没能以正常的方式解决这个问题。

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

通常米哈伊尔·弗拉迪米罗夫提出的解决方案应该很好,但这次不行。

相关内容

  • 没有找到相关文章

最新更新