java中提示unmappable character for encoding解决办法

本文讲述了在Windows系统中使用Maven时遇到的编码问题,如何通过设置系统变量MAVEN_OPTS和修改pom.xml中的<project.build.sourceEncoding>来确保UTF-8编码,以解决编译和部署过程中的字符集冲突。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

maven 运行 

mvn clean deploy 

报错


一、mvn编码【平台编码】:

mvn -vesion

默认是GBK

 mvn -vesion
Apache Maven 3.8.8 (4c87b05d9aedce574290d1acc98575ed5eb6cd39)
Maven home: D:\dev\apache-maven-3.8.8
Java version: 11.0.20, vendor: Oracle Corporation, runtime: D:\dev\jdk-11.0.20
Default locale: en_US, platform encoding: Cp1252
OS name: "windows 11", version: "10.0", arch: "amd64", family: "windows"
我的部署默认utf-8 是Cp1252

如何修改?

在系统变量中加入:

设置windows环境变量:

Key: MAVEN_OPTS

Value: -Xms256m -Xmx512m -Dfile.encoding=UTF-8

二、修改pom.xml

<properties>

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

<maven.compiler.encoding>UTF-8</maven.compiler.encoding>

</properties>

或者

<build>
    <plugins>
      <!-- 指定jdk,防止update project -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
          <!-- 项目编码-->
          <encoding>UTF-8</encoding>
        </configuration>
      </plugin>
</build>


 

//源码,输出,编译都是GBK

<properties>

<project.build.sourceEncoding>GBK</project.build.sourceEncoding> <project.reporting.outputEncoding>GBK</project.reporting.outputEncoding> <maven.compiler.encoding>GBK</maven.compiler.encoding>

</properties>

注意:源文件也需要时UTF-8编码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值