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

Java ant:警告:用于编码UTF8的不可映射字符,java,linux,ant,Java,Linux,Ant,我已经看到了很多像我这样的问题,但它们没有回答我的问题,因为我使用的是ant,而不是eclipse。我运行这个代码:antcleandist,它多次告诉我警告:编码UTF8的不可映射字符 我在Java命令中看到有一个-encoding选项,但这对我没有帮助,因为我使用的是ant 我在Linux上,我正在尝试运行的开发者版本;我没有对任何东西做任何修改,我只是下载了它,并遵循了他们所有的,这没有什么区别。我给开发人员发了电子邮件,他们告诉我这是个问题,但我怀疑这实际上与最终的错误有关: BUILD

我已经看到了很多像我这样的问题,但它们没有回答我的问题,因为我使用的是ant,而不是eclipse。我运行这个代码:
antcleandist
,它多次告诉我
警告:编码UTF8的不可映射字符

我在Java命令中看到有一个-encoding选项,但这对我没有帮助,因为我使用的是ant

我在Linux上,我正在尝试运行的开发者版本;我没有对任何东西做任何修改,我只是下载了它,并遵循了他们所有的,这没有什么区别。我给开发人员发了电子邮件,他们告诉我这是个问题,但我怀疑这实际上与最终的错误有关:

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

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

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

对于Ant:

-Dfile.encoding=UTF8
添加到您的
ANT\u OPTS
环境变量中

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

export JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8

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

启动java。问题不在于eclipse或ant。问题是您有一个包含特殊字符的生成文件。比如MS Word中的智能引号或m-破折号。无论如何,XML文件中的字符不是UTF-8字符集的一部分。因此,您应该修复XML以删除这些无效字符,并将它们替换为外观相似但有效的UTF-8版本。查找诸如@©等特殊字符,并将其替换为(c)或任何对您有用的字符


顺便说一句,第83行的common-targets.xml中有一个坏字符,将编码更改为Cp 1252在我的项目中工作时出现了相同的错误。我尝试过多次更改eclipse属性,但都没有任何帮助。我将encoding属性添加到pom.xml文件中,错误消失了

我怀疑问题在于某些文件是以其他编码方式编码的,但工具链将其视为UTF-8。我发现如何使用
pkill Java
杀死Java,但如何重新启动它??使用
export Java\u tool\u OPTIONS=-Dfile.encoding=UTF8
为我解决了这个问题,但仍然不明白为什么会发生。我已经使用
ant
好几个月了,有一个问题。我使用了jEdit,只是更改了其中一个文件中的一行,整个代码就崩溃了!