【问题标题】:Is there a way to build UTF-8 source files using ant有没有办法使用 ant 构建 UTF-8 源文件
【发布时间】:2013-02-10 06:13:43
【问题描述】:

我的 java 文件中有硬编码的 UTF-8 字符串文字。 Eclipse 正确地构建了这个应用程序,因此生成的类文件包含 UTF-8 格式的这些字符串。 但是如果使用 ant build.xml,生成的类文件会包含编码错误的字符串。

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

如何解决?

附言我知道在源文件中硬编码字符串文字是非常糟糕的做法,但这是我需要它的情况,所以请不要建议将它提取到资源包中。

非常感谢任何帮助

【问题讨论】:

  • 您确定您的源文件以 UTF-8 格式存储吗?
  • 是的,我做了仔细检查

标签: java ant encoding


【解决方案1】:

正确的方法是

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

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

【讨论】:

  • 我做到了,并仔细检查了来源是否为 UTF-8。它没有帮助。而且我的 ant 文件中只有一个 javac 任务,所以我认为这不是原因。
【解决方案2】:

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

请查看How do I set -Dfile.encoding within ant's build.xml?中的投票答案

【讨论】:

    【解决方案3】:

    这实际上不是原始问题的答案,但我不希望这个问题无人回答。也许版主会决定删除它。无论如何。

    看起来这是在使用 ant、jdk、windows 的特定组合时出现的某种错误。 我挖得很深,无法以正常的方式解决这个问题。

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

    Mikhail Vladimirov 建议的解决方案通常应该可以正常工作,但这次不行。

    【讨论】:

      猜你喜欢
      • 2011-02-12
      • 2012-05-09
      • 2011-06-28
      • 2012-08-08
      • 2012-04-30
      • 1970-01-01
      • 2021-09-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多