maven 编码UTF-8的不可映射字符 打包编译warning和error

jenkins maven项目打包 utf-8 error编译失败问题

问题描述:在jenkins error 在 本地idea中打包 warning,jenkins中error导致编译失败。

编码UTF-8的不可映射字符问题对应的编译版本
maven-compiler-plugin >= 3.0 插件无论 warning 还是 error 都能正常打包
maven-compiler-plugin <=2.5.1 输出 error 日志,无法正常打包
在这里插入图片描述
在这里插入图片描述

解决方式:指定父模块插件版本

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
</build>

解决maven unresolved plugin 以及 如何控制maven plugin 的插件版本
https://blog.csdn.net/xx326664162/article/details/79582036

如果没有指定plugin的版本,那么系统会使用默认的版本,默认版本是由maven控制的,具体在这里https://maven.apache.org/plugins/index.html查看

复现

代码情况

同一套代码中,项目为UTF-8 文件编码为GBK, 将 GBK 引入项目后使用 maven 打包编译

使用的插件

<plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.8.1</version>
          <configuration>
            <source>1.8</source>
            <target>1.8</target>
            <encoding>utf8</encoding>
          </configuration>
        </plugin>

maven-compiler-plugin:3.2

[INFO] — maven-compiler-plugin:3.2:compile (default-compile) @ war-package-demo —
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 3 source files to E:\gitee\war-package-demo\target\classes
[ERROR] /E:/gitee/war-package-demo/src/main/java/per/lwp/test/Test.java:[8,12] 编码UTF-8的不可映射字符
[ERROR] /E:/gitee/war-package-demo/src/main/java/per/lwp/test/Test.java:[8,13] 编码UTF-8的不可映射字符
[ERROR] /E:/gitee/war-package-demo/src/main/java/per/lwp/test/Test.java:[8,14] 编码UTF-8的不可映射字符

maven-compiler-plugin:3.1 为 warning 级别,能正常打包

[INFO] — maven-compiler-plugin:3.1:compile (default-compile) @ war-package-demo —
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 3 source files to E:\gitee\war-package-demo\target\classes
[WARNING] /E:/gitee/war-package-demo/src/main/java/per/lwp/test/Test.java:[8,12] 编码UTF-8的不可映射字符
[WARNING] /E:/gitee/war-package-demo/src/main/java/per/lwp/test/Test.java:[8,13] 编码UTF-8的不可映射字符
[WARNING] /E:/gitee/war-package-demo/src/main/java/per/lwp/test/Test.java:[8,14] 编码UTF-8的不可映射字符
[WARNING] /E:/gitee/war-package-demo/src/main/java/per/lwp/test/Test.java:[8,16] 编码UTF-8的不可映射字符
[WARNING] /E:/gitee/war-package-demo/src/main/java/per/lwp/test/Test.java:[8,17] 编码UTF-8的不可映射字符

编码UTF-8的不可映射字符 编译信息
maven-compiler-plugin error 错误的为,推出除了3.1版本之外都是 error 错误
2.3.2
2.5.1
3.0 warning
3.1 warning
3.2 error
3.3 error
3.5 error
3.8.0 error
3.8.1 error

maven-compiler-plugin < 3.1 无论warning 还是 error maven构建都是失败退出
在这里插入图片描述

maven-compiler-plugin >= 3.1 无论warning 还是 error maven构建都是正常退出

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值