Maven项目源编码不起作用
我有一个使用以下属性配置的Maven-Project:
1.7 1.7 UTF-8 UTF-8
在我的机器上,这些设置一切正常。 但是,在另一台机器上,当我检查它并尝试使用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
我已经尝试使用-Dfile.encoding=UTF-8
运行mvn
, -Dfile.encoding=UTF-8
没有帮助。 $LC_CTYPE
报告UTF-8
。
我能做什么?
你可以在这里看到完整的pom文件: https : //github.com/scravy/scuttle/blob/master/pom.xml
最后,khmarbaise的评论帮助我找到了解决方案:
我配置了编译器插件并在那里指定了源编码,现在一切都在无处不在:
org.apache.maven.plugins maven-compiler-plugin 2.3.2 1.7 1.7 UTF-8
你的pom中有所有正确的设置,所以这很好。 validation您的IDE(以及团队使用的其他IDE)是否配置为UTF-8。
接下来,清理您的本地.m2
存储库并再次运行您的构建。 可能有可能您的一个传递依赖项没有使用正确的编码进行编译。 但是你的.m2
中可能有“正确”的版本,这使得一切正常,而另一台机器上不存在相同的版本。
祝你好运! 我知道这些东西有多烦人。
而不是设置maven
opts,设置新的环境变量 – JAVA_TOOL_OPTIONS = -Dfile.encoding=UTF8
- 无界通配符类型List 和原始类型List之间有什么区别?
- 如何在spring-security-javaconfig中添加Access Denied Handler
- 在multithreading环境中使用JUnit的奇怪问题
- 在开始学习JavaFX之前要了解什么?
- 何时该对象符合垃圾收集条件?
- 如何通过javax.xml.ws.Service进行调用
- java.io.FileNotFoundException:null \ conf \ wrapper.conf(系统找不到指定的路径)
- JBoss Seam:如何在视图中打开jpa / hibernate会话
- 我的Java版本是最新版本,但我的JVM仍然是1.5?