docker-maven执行测试类报maven-surefire-plugin failure错误的解决办法

使用gitlab ci配置maven runner做junit的单元测试,执行时报错,但打包并不会报错。

错误信息摘要

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.22.1:test (default-test) on project business-security-perception: There are test failures.
...
[ERROR] org.apache.maven.surefire.booter.SurefireBooterForkException: The forked VM terminated without properly saying goodbye. VM crash or System.exit called?
...
Error occurred in starting fork, check output in log

解决方案

因为debian jdk 8u181-b13-2~deb9u1的docker镜像存在bug,会导致Maven surefire崩溃,而我使用的maven是docker.io/maven:3.6.0-jdk-8,这个镜像的基础镜像是openjdk:8-jdk,就是基于debian jdk 8u181-b13-2~deb9u1的镜像,因此出现了这个错误。

解决方案是更换maven镜像为docker.io/maven:3.6.0-jdk-8-alpine,该镜像为alpine jdk 8.191.12-r0

参考

解决问题的过程

待更新

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容