You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Maven项目名称中的Emoji在Git Bash构建日志中显示乱码的解决方法咨询

Maven项目名称中的Emoji在Git Bash构建日志中显示乱码的解决方法咨询

看起来你遇到了Maven构建输出里Emoji乱码的头疼问题,我来帮你梳理下结合Windows 10 + Git Bash场景的解决思路:

核心问题定位

你已经把pom.xml的编码设为UTF-8,Git Bash里echo能正常显示Emoji,但Maven构建日志却乱码——这本质是Maven的JVM进程输出编码没有和终端的UTF-8编码匹配。你在pom里配置的构建/报告编码是针对项目源码和生成报告的,和Maven自身的日志输出编码是两回事。

具体解决步骤

  1. 确认Git Bash的编码环境
    先检查Git Bash当前的编码配置,在终端输入:

    echo $LANG
    

    正常输出应该是zh_CN.UTF-8或en_US.UTF-8这类UTF-8标识。如果不是,在Git Bash的配置文件~/.bashrc里添加一行:

    export LANG=en_US.UTF-8
    

    保存后重启Git Bash生效。

  2. 强制Maven用UTF-8输出日志
    Maven是Java工具,需要通过JVM参数指定输出编码:

    • 临时生效:在当前Git Bash会话先执行:
      export MAVEN_OPTS="-Dfile.encoding=UTF-8"
      
      再运行mvn clean测试Emoji显示效果。
    • 永久生效:
      • Git Bash环境:把上面的配置添加到~/.bashrc,每次启动终端自动加载;
      • 全局Windows环境:打开「系统属性-高级-环境变量」,新建系统变量MAVEN_OPTS,值设为-Dfile.encoding=UTF-8,之后在Git Bash/CMD运行Maven都会生效(CMD本身Emoji支持受限的问题除外)。
  3. 确保pom.xml是UTF-8无BOM编码
    虽然Notepad显示是UTF-8,但带BOM头的文件可能影响Maven解析。在Notepad里选择「编码」→「UTF-8无BOM编码格式」,重新保存pom.xml后再测试。

  4. 关于CMD的补充说明
    CMD默认采用GBK编码,本身对Emoji支持极差,echo显示问号框是终端自身限制,建议还是用Git Bash查看含Emoji的构建日志。

验证复现案例

按照你提供的测试pom.xml完成上述步骤后,运行mvn clean,应该能在Git Bash看到正常的[INFO] Building Some Name 🙂 123输出。

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.08 10:07:58