Maven编译项目下的.java文件时的编码问题

由 《编译.java文件时的编码问题》可知,在编译.java文件的时候,需要正确指定一个编码方案,该编码方案用于解码.java文件的字节流。
那么在使用Maven编译项目下所有的.java文件时,该如何指定正确的编码方案呢?
1)首先在Maven项目下执行"mvn help:effective-pom"命令。可以在得到的实际的POM文件中,发现默认情况下,用来编译Maven项目下的.java文件的工具是"maven-compiler-plugin"插件,其下有个"encoding"配置参数,该值就是用来指定编译.java文件过程中应该使用的编码方案的。该配置参数的值默认为"${project.build.sourceEncoding}",如果"${project.build.sourceEncoding}"没有配置,那么使用"platform encoding"
2)假如现在有个项目,使用Maven进行管理,项目下.java文件使用的编码方案是GBK,未设置"${project.build.sourceEncoding}",且"platform encoding=utf8",那么默认情况下,"maven-compiler-plugin"插件下的"encoding"配置参数的值被取为utf8,使用该"encoding"参数值去编译项目会得到错误的.class文件,在这种情况下,我们应该明确指定"encoding=gbk"。
即便项目使用UTF-8编码,"encoding"参数值默认也被取为utf8,使用该"encoding"参数值去编译项目能够得到正确的.class文件,但是"encoding"参数是非常重要的一个参数,我们最好能够明确定义它


综上所述,我们应该明确定义"encoding"参数值,详细的定义方式见 《Maven中配置maven-compiler-plugin插件》


参考文献:
[1]http://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html

你可能感兴趣的:(数据区)