idea中maven项目编译后中文乱码问题

一、问题描述

idea中maven项目编译后,jar包里的中文乱码。如下图
idea中maven项目编译后中文乱码问题_第1张图片

二、问题发生原因

2.1、在idea控制台进行编译,使用 mvn clean package -Dmaven.test.skip=true
在这里插入图片描述

2.2、其实编译过程里已经有相关提示信息了,但是当时没注意到。
因为项目没有设置File encodeing,所以使用了maven的 platform encoding:GBK。(maven的默认编码方式可以用控制台输入mvn -v查看)
在这里插入图片描述

idea中maven项目编译后中文乱码问题_第2张图片

三、问题解决

3.1、在pom文件中配置属性

配置project.build.sourceEncoding属性值为:UTF-8,如下图

	<properties>
		<project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
	properties>

3.2、重新编译打包

重新编译打包之后的jar中文不再乱码,如下图
idea中maven项目编译后中文乱码问题_第3张图片

四、问题其他

4.1 修改maven的platform encoding

一开始我也参照其他博客,修改了maven的platform encoding,改为UTF-8。在系统环境变量中,添加变量(变量名:MAVEN_OPTS,变量值:-Dfile.encoding=UTF-8),如下图
idea中maven项目编译后中文乱码问题_第4张图片
但不知道是我的环境变量设置不对,还是没重启电脑(虽然我在控制台查看maven,maven的platform encoding已经是UFT-8了,如下图)
idea中maven项目编译后中文乱码问题_第5张图片
这样改完,编译打包的jar里的中文还是乱码

4.2 pom文件其它属性设置

参考其他人博客,除了project.build.sourceEncoding属性可以设置,还有project.reporting.outputEncoding 和 maven.compiler.encoding 。
不过我设置project.build.sourceEncoding就解决了问题,另外两个没有再去试,后续有时间了再设置它俩看看效果。

如果有知道这些属性作用的,也可以评论讲解一下,谢谢

		<project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8project.reporting.outputEncoding>
        
        <maven.compiler.encoding>UTF-8maven.compiler.encoding>

参考了以下博客

https://blog.csdn.net/move_on_on/article/details/123373433
https://blog.csdn.net/xiao__jia__jia/article/details/104258557

你可能感兴趣的:(配置及环境类问题,maven,intellij-idea,java)