如何在 ant 的 build.xml 中设置 -Dfile.encoding?

2022-08-31 22:20:42

我有iso-8859-1编码的java源文件。当我运行蚂蚁时,我得到“警告:用于编码UTF-8的不可映射字符”。如果我运行 ant -Dfile.encoding=iso-8859-1 或向每个 javac 语句添加 encoding=“ISO-8859-1”,我可以避免这种情况。

有没有办法在构建.xml全局设置属性?<属性名称=“文件.编码”值=“ISO-8859-1”>不起作用。我知道我可以添加一个foo=ISO-8859-1属性,并将编码=“${foo}”设置为每个javac语句,但我试图避免这种情况。


答案 1

如果你的文件以特定的方式编码,那么最好告诉javac,而不是强迫整个JVM使用特定的编码。出于这个原因,javac任务具有编码属性。

<javac srcdir="${src.dir}" destdir="${build.classes.dir}" encoding="iso-8859-1" />

但实际上,您应该将源文件转换为UTF-8。在 UTF-8 中,一切味道都更好。:)


答案 2

几个选项:

  1. 添加到环境变量-Dfile.encoding=iso-8859-1ANT_OPTS
  2. 用于为所有调用设置默认值<presetdef><javac>

推荐