我正在使用以下属性配置Maven-Project:
<properties>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>
在我的机器上,这些设置一切正常。但是,在另一台机器上,当我检查它并尝试使用mvn install
构建它时编译器错误unmappable character for encoding ASCII
:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.0.2:compile (default-compile) on project scuttle: Compilation failure: Compilation failure:
[ERROR] /export/local-1/julian-downloads/scuttle/src/main/java/de/fu/mi/scuttle/handlers/sakai/SakaiVV.java:[99,39] error: unmappable character for encoding ASCII
[ERROR]
[ERROR] /export/local-1/julian-downloads/scuttle/src/main/java/de/fu/mi/scuttle/handlers/sakai/SakaiVV.java:[99,40] error: unmappable character for encoding ASCII
[ERROR]
[ERROR] /export/local-1/julian-downloads/scuttle/src/main/java/de/fu/mi/scuttle/domain/sakai/SakvvTermin.java:[66,30] error: unmappable character for encoding ASCII
[ERROR]
[ERROR] /export/local-1/julian-downloads/scuttle/src/main/java/de/fu/mi/scuttle/domain/sakai/SakvvTermin.java:[66,31] error: unmappable character for encoding ASCII
我已经尝试使用mvn
运行-Dfile.encoding=UTF-8
,但这没有帮助。 $LC_CTYPE
报告UTF-8
。
我该怎么办?
您可以在此处查看完整的pom文件:https://github.com/scravy/scuttle/blob/master/pom.xml
答案 0 :(得分:9)
最后,khmarbaise的评论帮助我找到了解决方案:
我配置了编译器插件并在那里指定了源编码,现在一切都可以在任何地方使用:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
答案 1 :(得分:2)
你的pom中有所有正确的设置,所以这很好。验证您的IDE(以及团队使用的其他IDE)是否配置为UTF-8。
接下来,清理您的本地.m2
存储库并再次运行您的构建。您可能有可能使用正确的编码编译了一个传递依赖项。但你可能有'#34;对&#34; .m2
中的版本使一切正常,而另一台机器上不存在相同的版本。
答案 2 :(得分:1)
设置新的环境变量 - maven
JAVA_TOOL_OPTIONS = -Dfile.encoding=UTF8
选项