Maven错误:编码Cp1251的不可映射字符

时间:2012-11-16 20:26:35

标签: java maven cp1251

无法在NetBeans中编译您的项目,这是错误:

------------------------------------------------------------------------
BUILD FAILURE
------------------------------------------------------------------------
Total time: 4.094s
Finished at: Sat Nov 17 00:23:08 MSK 2012
Final Memory: 8M/247M
------------------------------------------------------------------------
Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.0.2:compile (default-compile) on project AdminCmd: Compilation failure
C:\Users\Максим\Documents\NetBeansProjects\AdminCmd\src\main\java\be\Balor\Tools\Help\String\ACMinecraftFontWidthCalculator.java:[30,33] error: unmappable character for encoding Cp1251
-> [Help 1]

To see the full stack trace of the errors, re-run Maven with the -e switch.
Re-run Maven using the -X switch to enable full debug logging.

For more information about the errors and possible solutions, please read the following articles:
[Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

这是发誓的文件maven

http://pastebin.com/buQEE4Fb

Project to Git - https://github.com/Belphemur/AdminCmd

如果有人可以提交NetBeans或Eclipse的工作草案!

3 个答案:

答案 0 :(得分:2)

这很有趣,因为你的pom.xml提到了

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

..但错误消息抱怨Cp1251编码。 maven输出是否提到了与源编码相关的任何其他内容?

我的建议通常是不在代码中使用任何高位ASCII字符,而是根据需要使用\uxxxx表示法。

你可以在http://www.endmemo.com/convert/EMUnicode.php这样的在线转换网站上进行从UTF-8到转义转义的unicode的转换(这个特殊的转换似乎会删除前导零,我不认为这在Java中是合法的)

答案 1 :(得分:1)

您在该文件中有可能未在Windows代码页中映射的字符(这是对Cp1251的引用)。尝试将项目编码更改为UTF-8或类似。研究不同的编码方案。

答案 2 :(得分:0)

就我而言,我通过设置新的环境变量解决了该问题:

JAVA_TOOL_OPTIONS = -Dfile.encoding = UTF-8

在执行maven的命令行中,在执行maven命令之前运行当前命令:

SET JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8

相关问题