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

Windows 10下Spring Boot项目Maven测试因编码问题失败,如何解决?

解决Windows下Maven测试非拉丁字符乱码问题

以下是几个可行的解决措施:

1. 完整配置maven-surefire-plugin插件

你之前仅添加了argLine配置但未明确声明插件,完整配置插件并补充编码相关参数:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>3.2.5</version> <!-- 建议使用最新稳定版 -->
            <configuration>
                <argLine>-Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8</argLine>
                <encoding>UTF-8</encoding>
            </configuration>
        </plugin>
    </plugins>
</build>

添加-Dsun.jnu.encoding=UTF-8是因为Windows系统中该参数会影响系统级字符处理,避免文件名或系统相关操作的乱码。

2. 临时或永久修改Windows命令行编码

  • 临时生效:打开命令提示符后,先执行chcp 65001切换到UTF-8编码,再运行mvn test。
  • 永久生效:进入Windows设置→时间和语言→语言→管理语言设置→更改系统区域设置,勾选「Beta版:使用Unicode UTF-8提供全球语言支持」,重启电脑后所有命令行默认编码变为UTF-8。

3. 确保测试资源文件编码为UTF-8

检查测试用到的资源文件(如.properties、.json、测试用例中的文本文件)是否以UTF-8编码保存。若文件是GBK等其他编码,Maven读取时会出现乱码,可通过记事本打开文件后选择「另存为」,编码选UTF-8覆盖保存。

4. 配置Maven全局编码

修改Maven安装目录下的conf/settings.xml(或用户目录.m2/settings.xml),添加全局编码配置,确保所有项目默认使用UTF-8:

<profiles>
    <profile>
        <id>utf-8</id>
        <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>
    </profile>
</profiles>

<activeProfiles>
    <activeProfile>utf-8</activeProfile>
</activeProfiles>

5. 配置maven-compiler-plugin确保编译编码一致

编译阶段的编码不一致也可能导致测试时乱码,添加编译插件的编码配置:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.11.0</version> <!-- 匹配你的Java版本 -->
            <configuration>
                <source>17</source> <!-- 替换为你的项目Java版本 -->
                <target>17</target>
                <encoding>UTF-8</encoding>
            </configuration>
        </plugin>
    </plugins>
</build>

内容的提问来源于stack exchange,提问作者programmer

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 04:02:37