Maven报错信息处理

error1

1.1 错误信息

[WARNING] File encoding has not been set, using platform encoding GBK, i.e. build is platform dependent!
[INFO] Compiling 1 source file to D:\SoftwareDevelop\apache-maven-3.3.9-bin\HelloMaven\target\classes
[WARNING] /D:/SoftwareDevelop/apache-maven-3.3.9-bin/HelloMaven/src/main/java/cn/wangye/HelloMaven.java:[7,73] 编码 GBK 的不可映射字符 (0xBA)

对错误信息翻译,得到如下结果,文件编码未设置,使用平台编码GBK,即构建依赖于平台!

[INFO]编译1个源文件到D:\SoftwareDevelop\apache-maven-3.3.9-bin\ hellommaven \target\classes

[警告]/D:/SoftwareDevelop/apache-maven-3.3.9-bin/HelloMaven/src/main/java/cn/wangye/HelloMaven.java:[7.73] GBK (0xBA)

1.2 分析原因

由于我们对文件编码方式进行设置,所以Maven自动采用平台(操作系统)的编码方式进行我们代码的编码。

1.3 印证

在命令窗口中输入mvn -versin进行编码方式的查看(platfrom encoding:GBK

D:\SoftwareDevelop\apache-maven-3.3.9-bin\HelloMaven>mvn -version
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00)
Maven home: D:\SoftwareDevelop\apache-maven-3.3.9-bin\apache-maven-3.3.9\bin\..
Java version: 17.0.1, vendor: Oracle Corporation
Java home: D:\SoftwareDevelop\javase
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 10", version: "10.0", arch: "amd64", family: "dos"

查看我们的代码文件: 代码文件使用的是UTF-8进行编码的。

1.4 解决方法:

通过某种方法,指定maven的编码方式为UTF-8即可。

方法一:局部设置,在pom.xml文件中指定本项目的编码格式:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
  http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.bjpwoernode.maven</groupId>
  <artifactId>ch01-maven</artifactId>
  <version>1.0-SNAPSHOT</version>
  <properties>
    <java.version>1.7</java.version>
    //指定本项目的编码方式
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 	 <maven.compiler.source>1.7</maven.compiler.source>
 	 <maven.compiler.target>1.7</maven.compiler.target> 
</properties>

</project>

运行结果:

D:\SoftwareDevelop\apache-maven-3.3.9-bin\HelloMaven>mvn compile
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building ch01-maven 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ ch01-maven ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 0 resource
[INFO]使用我们设置的UTF-8进行文件的编译,运行成功;
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ ch01-maven ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 1 source file to D:\SoftwareDevelop\apache-maven-3.3.9-bin\HelloMaven\target\classes
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.822 s
[INFO] Finished at: 2023-10-20T11:11:12+08:00
[INFO] Final Memory: 10M/40M
[INFO] ------------------------------------------------------------------------

方法二:全局设置,新增环境变量

新建环境变量
变量名:MAVEN_OPTS
变量值:-Dfile.encoding=UTF-8
该方式全局生效

设置验证 命令窗口运行mvn -version

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值