ant:warning:用于编码UTF8的不可映射字符

时间:2013-01-01 00:05:01

标签: java linux ant

我看过很多像我这样的问题,但他们没有回答我的问题,因为我正在使用蚂蚁而我没有使用eclipse。我运行此代码:ant clean dist并且它多次告诉我warning: unmappable character for encoding UTF8

我在Java命令上看到有一个-encoding选项,但这对我没有帮助因为我正在使用蚂蚁。

我在Linux上,我正在尝试运行Sentrick的开发人员版本;我没有对任何内容进行任何修改,我只是下载并跟踪了所有instructions并没有任何区别。我通过电子邮件发送了开发人员,他们告诉我这是问题,但我怀疑它实际上是最终会出现这个错误的事情:

BUILD FAILED
/home/daniel/sentricksrc/sentrick/build.xml:22: The following error occurred while executing this line:
/home/daniel/sentricksrc/sentrick/ant/common-targets.xml:83: Test de.denkselbst.sentrick.tokeniser.components.DetectedAbbreviationAnnotatorTest failed

我不确定我现在要做什么因为我真的需要它才能工作

3 个答案:

答案 0 :(得分:26)

尝试更改源文件的文件编码,并将Default Java File Encoding也设置为UTF-8。

对于Ant:

-Dfile.encoding=UTF8添加到您的ANT_OPTS环境变量

将默认Java文件编码设置为UTF-8:

export JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8

或者您可以使用参数-Dfile.encoding=UTF8

启动java

答案 1 :(得分:2)

问题不是日食或蚂蚁。问题是你有一个包含特殊字符的构建文件。就像MS Word中的智能引号或m-dashes一样。无论如何,XML文件中的字符不属于UTF-8字符集。因此,您应该修复XML以删除这些无效字符,并将它们替换为类似的外观但有效的UTF-8版本。寻找像&#64© - ®等特殊字符,并将其替换为(c)或对您有用的任何内容。

顺便说一下,坏字符在第83行的common-targets.xml中

答案 2 :(得分:0)

将编码更改为Cp 1252对我的项目有同样的错误。我尝试过几次更改eclipse属性,但它对我没有任何帮助。我将编码属性添加到我的pom.xml文件中,错误消失了。 http://ctrlaltsolve.blogspot.in/2015/11/encoding-properties-in-maven.html