如何修复 IDEA 使用 Gradle 构建出错时的乱码问题

aliyun 2021 promotion (opens new window)

# 简介

最近在迁移一个基于 Maven 构建项目到基于 Gradle 进行构建, 迁移的过程中发现编译失败了, IDEAGradle build output 面板出现了许多方块型的乱码.

包含乱码的 Gradle build output

包含乱码的 Gradle build output

尝试设置 IDEAFile EncodingConsole EncodingUTF-8 也还是不行.

后来在 YouTrack 上与 JetBrains 的工程师沟通后得知可以修改 IDEA 的虚拟机参数来解决这个问题. 修复后的 Gradle build output

修复后的 Gradle build output

# 解决方案

  1. 点击 IDEA 顶部菜单栏中的 Help
  2. 点击 Edit Custom VM Options
  3. 追加 -Dfile.encoding=UTF-8 到文档末尾
  4. 重启 IDEA 即可

这个方案的缺陷在于每次 IDEA 更新, 都需要重复执行一次.

此外 JetBrains 官方帮助文档中提到可以通过设置 IDEA_VM_OPTIONS 环境变量来指定一个全局的 IDEA 虚拟机参数文件的路径. 这样的话就不用担心每次 IDEA 更新还要再重新修复一次这个问题了. 又或者你是通过 Toolbox (opens new window) 安装/更新 IDEA 的话, Toolbox 是会帮你同步虚拟机配置项的.

# 参考

# 推广

欢迎大家点击下方的图片领取限量 阿里云优惠券 (opens new window), 新购续费更优惠 ! 限量阿里云优惠券 (opens new window)