idea maven打包是报出这个错误:编码GBK的不可映射字符 有哪些解决方法
2026/7/8 10:12:17 网站建设 项目流程

方案一:配置 pom.xml(最推荐,一劳永逸)
这是官方推荐且最彻底的解决方法,直接为 Maven 编译过程指定编码,不受 IDE 或操作系统环境影响。

在项目的 pom.xml 文件中,找到 标签,添加或确认以下配置:

xml<properties><!-- 指定项目源码编码为 UTF-8 --><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><!-- 指定项目报告输出编码为 UTF-8 --><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><!-- 指定 Maven 编译器的源码和目标版本,以及编码 --><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target><maven.compiler.encoding>UTF-8</maven.compiler.encoding></properties>

如果你的 pom.xml 中没有 标签,可以手动创建。

🚀 方案二:配置 Maven Runner VM Options(针对特定项目)
此方法通过修改 IDEA 中 Maven 运行时的虚拟机参数来指定编码,仅对当前项目生效。

打开 IDEA 设置:File -> Settings (或 Ctrl + Alt + S)。

在左侧菜单找到 Build, Execution, Deployment -> Build Tools -> Maven -> Runner。

在 VM Options 输入框中添加:-Dfile.encoding=UTF-8。

点击 OK 保存,并重新执行 Maven 打包命令。

🌍 方案三:设置全局环境变量(全局生效)
此方法通过设置操作系统环境变量,让所有 Maven 命令都使用 UTF-8 编码。

变量名:MAVEN_OPTS

变量值:-Dfile.encoding=UTF-8

设置完成后,需要重新打开命令行窗口或重启 IDEA 才能生效。

🧩 方案四:针对 IDEA 2025.2+ 的特定修复
如果你使用的是 IntelliJ IDEA 2025.2 或更新版本,且上述方法无效,可以尝试禁用一项实验性功能。

在 IDEA 中双击 Shift 键,打开全局搜索。

输入 Registry 并打开注册表。

找到 maven.use.scripts 选项,取消勾选以禁用它。

关闭注册表窗口,重启 IDEA 后再次尝试打包。

⚙️ 方案五:检查并统一 IDEA 文件编码
虽然这通常不是根本原因,但确保 IDEA 本身使用 UTF-8 是个好习惯。

打开 File -> Settings -> Editor -> File Encodings。

将 Global Encoding 和 Project Encoding 都设置为 UTF-8。

确保 Properties Files 的编码也设置为 UTF-8。

📝 方案六:临时命令行参数(快速测试)
如果想快速验证是否是编码问题,可以在执行 Maven 命令时临时指定编码。

bash
mvn clean package -Dfile.encoding=UTF-8
🚨 注意事项
修改文件编码:如果某个文件确实是以 GBK 编码保存的,而项目其他部分使用 UTF-8,你需要使用 Notepad++ 等编辑器将该文件转换为 UTF-8 编码。

BOM 问题:如果转换编码后出现 非法字符: ‘\ufeff’ 错误,说明文件包含 BOM (Byte Order Mark)。你需要用编辑器将文件编码保存为 UTF-8 without BOM 格式。

总结一下:最推荐的是方案一(修改 pom.xml),这是最标准和彻底的解决方式。如果你使用的是最新版 IDEA 且方案一无效,可以再尝试方案四(禁用 maven.use.scripts)

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询