写点什么

maven 编译遇到"编码 GBK 的不可映射字符"警告的处理

作者:程序员欣宸
  • 2022 年 6 月 27 日
  • 本文字数:1017 字

    阅读完需:约 3 分钟

maven编译遇到"编码GBK的不可映射字符"警告的处理

欢迎访问我的 GitHub

这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos

环境

  • 操作系统:win10

  • JDK:1.8.0_144

  • maven:3.5.0

问题

  • 普通的 maven 工程,java 源码注释中有中文,如下:


package com.bolingcavalry.addservice;
/** * @author wilzhao * @description 加法服务对应的接口 * @email zq2599@gmail.com * @time 2018/10/13 10:07 */public interface AddService { int add(int a, int b);}
复制代码


  • 使用下面的命令编译:


mvn clean compile -Dmaven.test.skip=true
复制代码


  • 虽然提示编译成功,但是有警告编码 GBK 的不可映射字符,如下所示:


[WARNING] /C:/temp/201810/07/customizestarter/addservice/src/main/java/com/bolingcavalry/addservice/AddService.java:[5,30] 编码GBK的不可映射字符[INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS[INFO] ------------------------------------------------------------------------[INFO] Total time: 1.853 s[INFO] Finished at: 2018-10-13T11:07:16+08:00[INFO] Final Memory: 13M/162M[INFO] ------------------------------------------------------------------------
复制代码


  • maven 用的是 win10 的字符集,在 winndows 命令行输入 chcp,返回 936 表示 GBK,如下图:



  • 而 JAVA 的字符集是 UTF8,所以只要把 maven 编译时的字符集改为 UTF8 即可;

解决办法

  • 在 pom.xml 的属性节点中增加属性:


<properties>        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>    </properties>
复制代码


  • 整体效果如下图,红色是新增内容:



  • 再编译,这次没有警告了:


[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ addservice ---[INFO] Changes detected - recompiling the module![INFO] Compiling 2 source files to C:\temp\201810\07\customizestarter\addservice\target\classes[INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS[INFO] ------------------------------------------------------------------------[INFO] Total time: 2.332 s[INFO] Finished at: 2018-10-13T11:28:40+08:00[INFO] Final Memory: 13M/163M[INFO] ------------------------------------------------------------------------
复制代码

欢迎关注 InfoQ:程序员欣宸

学习路上,你不孤单,欣宸原创一路相伴...

发布于: 刚刚阅读数: 3
用户头像

搜索"程序员欣宸",一起畅游Java宇宙 2018.04.19 加入

前腾讯、前阿里员工,从事Java后台工作,对Docker和Kubernetes充满热爱,所有文章均为作者原创,个人Github:https://github.com/zq2599/blog_demos

评论

发布
暂无评论
maven编译遇到"编码GBK的不可映射字符"警告的处理_Java_程序员欣宸_InfoQ写作社区