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

Unix服务器执行mvn test出现异常,非应用问题求排查方向

问题排查建议

环境信息

Unix, Java 11, Spring Boot 2.6.9, Maven 3.8.6

问题现象

在Unix服务器上执行mvn test时,无论是数据源相关测试还是空测试方法,都会抛出异常:

数据源测试报错日志

[INFO] Scanning for projects...
[INFO] 
[INFO] ------------------< com.example:FB_FE_020_SD_08025 >-------------------
[INFO] Building FB_FE_020_SD_08025 1.0
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- maven-resources-plugin:3.2.0:resources (default-resources) @ FB_FE_020_SD_08025 ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Using 'UTF-8' encoding to copy filtered properties files.
[INFO] Copying 1 resource
[INFO] Copying 1 resource
[INFO] 
[INFO] --- maven-compiler-plugin:3.8.1:compile (default-compile) @ FB_FE_020_SD_08025 ---
[INFO] Nothing to compile - all classes are up to date
[INFO] 
[INFO] --- maven-resources-plugin:3.2.0:testResources (default-testResources) @ FB_FE_020_SD_08025 ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Using 'UTF-8' encoding to copy filtered properties files.
[INFO] Copying 3 resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.8.1:testCompile (default-testCompile) @ FB_FE_020_SD_08025 ---
[INFO] Nothing to compile - all classes are up to date
[INFO] 
[INFO] --- maven-surefire-plugin:2.22.2:test (default-test) @ FB_FE_020_SD_08025 ---
[INFO] 
[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
java.lang.ArrayIndexOutOfBoundsException: Index 112 out of bounds for length 100
        at org.fusesource.jansi.io.AnsiOutputStream.write(AnsiOutputStream.java:196)
        at java.base/java.io.FilterOutputStream.write(FilterOutputStream.java:137)
        at java.base/java.io.PrintStream.write(PrintStream.java:559)
        at java.base/sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:233)
        at java.base/sun.nio.cs.StreamEncoder.implWrite(StreamEncoder.java:303)
        at java.base/sun.nio.cs.StreamEncoder.implWrite(StreamEncoder.java:281)
        at java.base/sun.nio.cs.StreamEncoder.write(StreamEncoder.java:125)
        at java.base/java.io.OutputStreamWriter.write(OutputStreamWriter.java:208)
        at java.base/java.io.BufferedWriter.flushBuffer(BufferedWriter.java:120)
        at java.base/java.io.PrintStream.write(PrintStream.java:605)
        at java.base/java.io.PrintStream.print(PrintStream.java:745)
        at java.base/java.io.PrintStream.println(PrintStream.java:882)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:414)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:347)

空测试方法代码

@Test
void test(){

}

空测试方法报错日志

[INFO] Scanning for projects...
[INFO] 
[INFO] ------------------< com.woorifis:FB_FE_020_SD_08025 >-------------------
[INFO] Building FB_FE_020_SD_08025 1.0
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- maven-resources-plugin:3.2.0:resources (default-resources) @ FB_FE_020_SD_08025 ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Using 'UTF-8' encoding to copy filtered properties files.
[INFO] Copying 1 resource
[INFO] Copying 1 resource
[INFO] 
[INFO] --- maven-compiler-plugin:3.8.1:compile (default-compile) @ FB_FE_020_SD_08025 ---
[INFO] Nothing to compile - all classes are up to date
[INFO] 
[INFO] --- maven-resources-plugin:3.2.0:testResources (default-testResources) @ FB_FE_020_SD_08025 ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Using 'UTF-8' encoding to copy filtered properties files.
[INFO] Copying 3 resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.8.1:testCompile (default-testCompile) @ FB_FE_020_SD_08025 ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 1 source file to /app/sechul/peb-klid-project/peb-klid-project/FB_FE_020_SD_08025/target/test-classes
[INFO] 
[INFO] --- maven-surefire-plugin:2.22.2:test (default-test) @ FB_FE_020_SD_08025 ---
[INFO] 
[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
java.lang.NumberFormatException: For input string: "1;[[[[[["
        at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
        at java.base/java.lang.Integer.parseInt(Integer.java:654)
        at java.base/java.lang.Integer.valueOf(Integer.java:985)
        at org.fusesource.jansi.io.AnsiOutputStream.write(AnsiOutputStream.java:199)
        at java.base/java.io.FilterOutputStream.write(FilterOutputStream.java:137)
        at java.base/java.io.PrintStream.write(PrintStream.java:559)
        at java.base/sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:233)
        at java.base/sun.nio.cs.StreamEncoder.implWrite(StreamEncoder.java:303)
        at java.base/sun.nio.cs.StreamEncoder.implWrite(StreamEncoder.java:281)
        at java.base/sun.nio.cs.StreamEncoder.write(StreamEncoder.java:125)
        at java.base/java.io.OutputStreamWriter.write(OutputStreamWriter.java:208)
        at java.base/java.io.BufferedWriter.flushBuffer(BufferedWriter.java:120)
        at java.base/java.io.PrintStream.write(PrintStream.java:605)
        at java.base/java.io.PrintStream.print(PrintStream.java:745)
        at java.base/java.io.PrintStream.println(PrintStream.java:882)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:414)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:347)

排查方向

  • 检查Jansi版本兼容性:异常来自org.fusesource.jansi.io.AnsiOutputStream,这是Maven依赖的Jansi库,可能版本和Java 11/Unix环境不兼容。尝试在项目pom.xml中显式指定兼容版本:
    <dependency>
        <groupId>org.fusesource.jansi</groupId>
        <artifactId>jansi</artifactId>
        <version>2.4.0</version>
    </dependency>
    
  • 禁用Maven的ANSI颜色输出:Unix终端的ANSI编码可能存在问题,执行测试时添加参数关闭颜色:mvn test -Dstyle.color=never,或者在settings.xml中全局配置:
    <settings>
        <profiles>
            <profile>
                <id>no-color</id>
                <properties>
                    <style.color>never</style.color>
                </properties>
            </profile>
        </profiles>
        <activeProfiles>
            <activeProfile>no-color</activeProfile>
        </activeProfiles>
    </settings>
    
  • 升级Maven Surefire插件:当前使用的2.22.2版本较老,尝试升级到兼容Spring Boot 2.6.x的版本,比如3.0.0-M7:
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>3.0.0-M7</version>
            </plugin>
        </plugins>
    </build>
    
  • 检查服务器环境变量:查看TERM等终端相关环境变量是否异常,临时设置TERM=xterm后重新执行测试。
  • 清理Maven缓存:执行mvn clean install -U清理本地仓库缓存,重新下载依赖,避免依赖文件损坏。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 05:56:04