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

2022-09-03 10:14:20

我见过很多像我这样的问题,但它们没有回答我的问题,因为我使用的是蚂蚁,而不是日食。我运行这段代码:它多次告诉我.ant clean distwarning: unmappable character for encoding UTF8

我在Java命令上看到有一个编码选项,但这并不能帮助我使用蚂蚁。

我在Linux上,我正在尝试运行Sentrick的开发人员版本;我没有对任何东西进行任何修改,我只是下载了它并按照他们的所有说明进行操作,这并没有区别。我给开发人员发了电子邮件,他们告诉我这是这个问题,但我怀疑这实际上是最后必须处理此错误的事情:

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

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


答案 1

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

对于蚂蚁:

添加到环境变量-Dfile.encoding=UTF8ANT_OPTS

将缺省 Java 文件编码设置为 UTF-8:

export JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8

或者你可以用一个参数启动java-Dfile.encoding=UTF8


答案 2

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

顺便说一句,坏角色在共同目标中.xml在第83行


推荐