文章目录
- 方式一
- 方式二
- 方式三
- 是否生效
为什么修改?
中文操作系统编码为GBK,Maven安装后会使用系统默认编码,编译含有中文字符的UTF-8格式源码文件时就出现编码不匹配的问题
场景:使用Maven编译项目,虽然提示编译成功,但会有以下警告
[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent!
[WARNING] File encoding has not been set, using platform encoding GBK, i.e. build is platform dependent!
为了避免产生不可预料的问题,建议统一改为UTF-8
方式一
新建环境变量
变量名:MAVEN_OPTS
变量值:-Dfile.encoding=UTF-8
该方式全局生效
方式二
在项目的pom.xml中设置配置项
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
注:若pom.xml的parent中已设置,则pom.xml中可省略,比如引入了spring-boot-starter-parent
该方式局部生效
方式三
从 Maven 3.3.1+ 开始,可以通过文件定义 JVM 配置
在maven项目的根下创建 .mvn/jvm.config,内容如下
-Dfile.encoding=UTF-8
该方式局部生效
是否生效
重启终端,输入
mvn -v