有没有办法在不使用外部JAVA_TOOL_OPTIONS的情况下使用UTF-8制作Maven构建类文件?
问题内容:
我不想依赖于外部环境变量来强制Maven使用UTF-8构建我的类。在Mac上,使用Maven进行构建时遇到各种问题。只有以下选项可以解决问题:
export JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8
mvn clean install
但是,我正在分发我的项目,依靠用户设置此环境变量来正确构建项目没有任何意义。
如此处所述尝试了所有操作:为Clojure源文件启用UTF-8编码
任何人都可以了解这个很棒的Maven问题?
问题答案:
@乔普·艾根(Joop
Eggen)在这里给出了正确答案:http://codingdict.com/questions/123947
仅仅定义该属性是不够的。您必须在适当的插件中传递它。里面不会有魔术。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>...</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
<encoding>${project.build.sourceEncoding}</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>...</version>
<configuration>
<encoding>${project.build.sourceEncoding}</encoding>
</configuration>
</plugin>
...
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>