Maven surefire could not find ForkedBooter class
Asked Answered
G

20

227

Recently coming to a new project, I'm trying to compile our source code. Everything worked fine yesterday, but today is another story.

Every time I'm running mvn clean install on a module, once reaching the tests, it crashes into an error:

[INFO] --- maven-surefire-plugin:2.18.1:test (default-test) @ recorder ---
[INFO] Surefire report directory: /lhome/code/recorder/target/surefire-reports
[INFO] Using configured provider org.apache.maven.surefire.junitcore.JUnitCoreProvider
[INFO] parallel='none', perCoreThreadCount=true, threadCount=0, useUnlimitedThreads=false, threadCountSuites=0,     threadCountClasses=0, threadCountMethods=0, parallelOptimized=true

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Error: Could not find or load main class org.apache.maven.surefire.booter.ForkedBooter

Results :

Tests run: 0, Failures: 0, Errors: 0, Skipped: 0

and later on:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.18.1:test (default-test) on project recorder: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.18.1:test failed: The forked VM terminated without properly saying goodbye. VM crash or System.exit called?

I'm running on Debian 9 (Stretch) 64-bits with OpenJDK 1.8.0_181, Maven 3.5.4, working behind my company proxy which I configured in my ~/.m2/settings.xml.

A strange thing it that the latest Surefire version is 2.22.1 if I remember correctly. I tried to specify the plugin version, but it does not get updated, otherwise there's no plugin version specification in any POM (parent, grand-parent or this one).

I managed to force Maven to change the Surefire version to the latest, but now it's even worse:

[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO]
[INFO] Results:
[INFO]
[INFO] Tests run: 0, Failures: 0, Errors: 0, Skipped: 0

[...]

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.22.1:test (default-test) on project recorder:     There are test failures.
[ERROR]
[ERROR] Please refer to /lhome/code/recorder/target/surefire-reports for the individual test results.
[ERROR] Please refer to dump files (if any exist) [date].dump, [date]-jvmRun[N].dump and [date].dumpstream.
[ERROR] The forked VM terminated without properly saying goodbye. VM crash or System.exit called?
[ERROR] Command was /bin/sh -c cd /lhome/code/recorder/ && /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java     '-javaagent:/lhome1/johndoe/.m2/repository/org/jacoco/org.jacoco.agent/0.7.4.201502262128/org.jacoco.agent-0.7.4.201502262128-runt    ime.jar=destfile=/lhome/code/recorder/target/jacoco.exec,append=true,includes=esa/*,excludes=**/api/**/*.class' -jar     /lhome/code/recorder/target/surefire/surefirebooter7426165516226884923.jar /lhome/code/recorder/target/surefire     2018-10-26T16-16-12_829-jvmRun1 surefire1721866559613511529tmp surefire_023400764142672144tmp
[ERROR] Error occurred in starting fork, check output in log
[ERROR] Process Exit Code: 1
[ERROR] org.apache.maven.surefire.booter.SurefireBooterForkException: The forked VM terminated without properly saying goodbye.     VM crash or System.exit called?
[ERROR] Command was /bin/sh -c cd /lhome/code/recorder/ && /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java     '-javaagent:/lhome1/johndoe/.m2/repository/org/jacoco/org.jacoco.agent/0.7.4.201502262128/org.jacoco.agent-0.7.4.201502262128-runt    ime.jar=destfile=/lhome/code/recorder/target/jacoco.exec,append=true,includes=esa/*,excludes=**/api/**/*.class' -jar     /lhome/code/recorder/target/surefire/surefirebooter7426165516226884923.jar /lhome/code/recorder/target/surefire     2018-10-26T16-16-12_829-jvmRun1 surefire1721866559613511529tmp surefire_023400764142672144tmp
[ERROR] Error occurred in starting fork, check output in log
[ERROR] Process Exit Code: 1
[ERROR]     at org.apache.maven.plugin.surefire.booterclient.ForkStarter.fork(ForkStarter.java:669)
[ERROR]     at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:282)
[ERROR]     at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:245)
[ERROR]     at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeProvider(AbstractSurefireMojo.java:1183)
[ERROR]     at     org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeAfterPreconditionsChecked(AbstractSurefireMojo.java:1011)
[ERROR]     at org.apache.maven.plugin.surefire.AbstractSurefireMojo.execute(AbstractSurefireMojo.java:857)
[ERROR]     at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)
[ERROR]     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
[ERROR]     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:154)
[ERROR]     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:146)
[ERROR]     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)
[ERROR]     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)
[ERROR]     at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56)
[ERROR]     at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
[ERROR]     at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305)
[ERROR]     at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192)
[ERROR]     at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105)
[ERROR]     at org.apache.maven.cli.MavenCli.execute(MavenCli.java:954)
[ERROR]     at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
[ERROR]     at org.apache.maven.cli.MavenCli.main(MavenCli.java:192)
[ERROR]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[ERROR]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[ERROR]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[ERROR]     at java.lang.reflect.Method.invoke(Method.java:498)
[ERROR]     at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
[ERROR]     at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
[ERROR]     at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
[ERROR]     at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Goy answered 26/10, 2018 at 13:47 Comment(6)
I'm having this bug in clircle-ci. Surefire forks and forked vm prints the following message and exits: "Error: Could not find or load main class org.apache.maven.surefire.booter.ForkedBooter". The massage is in target/surefire-reports/*.dumpstream . If you run maven with -X it prints the command line, you can try it and see the vm printing this message.Tiaratibbetts
Possible duplicate of Spring Boot fails to run maven-surefire-plugin ClassNotFoundException org.apache.maven.surefire.booter.ForkedBooterFurrow
my solution was to stop using open-jdks of any version. can't afford this kind of unreliability in something so foundational.Izak
Use maven's dependencyManagement section to specify different versions of pluginsLibel
Updating to jdk 11 on Debian was a surefire solution for me!Dzungaria
Yes, but unfortunately our build was not working with java 11 ;) But that's why I'm doing at other places and it works pretty great too.Goy
F
260

To fix it (in 2018), update your openjdk to the latest version, at least 8u191-b12. In case this issue reappears in 2020, it is likely that the default behavior of openjdk was changed, and you will then need to update the maven surefire plugin.

This was a now fixed bug in the openjdk-8 package (behaviour deviates from upstream significantly without need; missing the upstream patch to revert back to disabling a security check) that you just upgraded to. But it is also a bug in the surefire plugin, SUREFIRE-1588, supposedly fixed in surefire 3.0.0-M1: it apparently is using absolute paths in a place where Java will in the future only allow relative path names (and Debian activated the future behavior already).

The package version 8u181-b13-2 states:

  • Apply patches from 8u191-b12 security update.

Note that 191-b12 != 181-b13. The 191-b12 security patches were just out a few days ago, and apparently the maintainers wanted to get them to you fast. Updating completely to 191-b12 will likely need additional testing (well, so should have this upload, apparently).

There had been several workaounds:

  1. You can install the previous package from snapshots.d.o instead. After downgrading, you can forbid the broken version (if you are using aptitude and not apt) using sudo aptitude forbid-version openjdk-8-jre-headless. For regular "apt" I didn't see a similar forbid mechanism, so you would likely need to use apt pinning to prevent this upgrade from being reinstalled (or you just keep on downgrading again, I hope this will be resolved soon).
  2. According to bug tracking, setting the property -Djdk.net.URLClassPath.disableClassPathURLCheck=true with any of the usual methods (e.g., JAVA_FLAGS) should also help. But I have not verified this myself. You can apparently even add the workaround to ~/.m2/settings.xml to get it enabled for all your Maven builds easily.

As you can see, bug tracking works, the issue was narrowed down, and a fixed package is available and a new version of the surefire plugin will come soon!

Farley answered 26/10, 2018 at 21:30 Comment(17)
@AdrianMadaras I did not get a new update so far, only the -2 version. There also was no announcement of a fixed upload yet, but its underway. You probably just re-upgraded to the known problematic version.Farley
I just got the same issue on Ubuntu 18.04, using OpenJDK 10.0.2. Switching the JAVA_HOME to my 'java-9-oracle' install fixed it.Gastrointestinal
Btw that is openjdk-10 bug: bugs.debian.org/cgi-bin/bugreport.cgi?bug=911742Gastrointestinal
Here’s the corresponding issue in the surefire-maven-plugin issue tracker: issues.apache.org/jira/browse/SUREFIRE-1588 (it’s still a bug in the Canonical/Debian backport of the relevant OpenJDK changes).Collocation
Work around 1. doesn't make sense to me as that's the version I'm experiencing the issue on. Overriding the maven-surefire-plugin to not useSystemClassLoader also didn't workShowroom
@EdwinDiaz-Mendez you should not be seeing this issue on 8u181-b13 -1, only on 8u181-b13 -2 . Because the change was applied in -2. Make sure you didn't upgrade back to -2.Farley
@ErichSchubert (build 1.8.0_181-8u181-b13-1ubuntu0.18.04.1-b13) was my java -version. I have since moved over the Oracle's JDK and the problem is not present.Showroom
For Ubuntu, the affected package versions contain -1ubuntu0, so you have the known bad version installed. You likely want to go back to the August version 8u181-b13-1. But don't ask me where you can find archived versions of Ubuntu packages. Anyway, the easier workaround is #2, obviously.Farley
I confirm that solution (1) works, namely I've downgraded 8u181-b13-2~deb9u1 to 8u171-b11-1~deb9u1 and problem disappeared.Barghest
Since I'm using Jenkins CI and attempts at reconfiguration fail, I downgraded openjdk-8 to the previous release until the bug is fixed. Thanks for the detailed answer.Altman
You can try upgrading to surefire 3.0.0-M1, too. But 2 to a 3 milestone version can of course break other stuff.Farley
for the record, 3.0.0-M1 has been released on November 7, but there might indeed be several things breaking going from 2.22.1 to 3.0.0-M1 (will know soon I guess)Theocentric
Seems to be fixed in ubuntu 16.04 (see here), ubuntu 18.04 (see here & here) & ubuntu 18.10 (see here).Pelargonium
Is it actually a bug in OpenJDK because of changing the default behaviour of documented parameter, or rather a bug in Surefire because of making assumptions about undocumented parameter?Horsemint
@9ilsdx9rvj0lo As discussed in the bug reports, the jar file format specification requires relative paths, and surefire generated absolute paths. So it is a surefire bug - it generated invalid jars; OpenJDK just began enforcing part of the specification it tolerated before.Farley
Always check a new version in Maven Central. The plugin fixed similar issues in M2, etc. Currently available version is 3.0.0-M4 and we are awaiting 3.0.0-M5 in several days.Eupepsia
Use the latest Surefire version 3.0.0-M5. This issue was caused by PID checker in the versions 2.x.x. Now the checker is disabled, and it can be manually enabled and configured.Eupepsia
W
59

Set useSystemClassloader to false:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <configuration>
        <useSystemClassLoader>false</useSystemClassLoader>
    </configuration>
</plugin>

If you're not inheriting from a parent which has version defined for you (such as the Spring Boot starter) you'll need to define that as well.

Waybill answered 1/11, 2018 at 6:26 Comment(2)
Enabling the system classloader is the worst practice due to you are running the tests in plugin process. The right practice is to upgrade the version of every plugin. Maven 3.7.0 will upgrade versions of all plugins which belong to the default life cycle. The Spring should not stick to the old versions and should not override them either. This causes unnecessary conflicts in responsibilities.Eupepsia
Use the latest Surefire version 3.0.0-M5. This was caused by PID checker. Now the checker is disabled and it can be manually enabled and configured.Eupepsia
S
53

I found this workaround and fixed my tests: configure the maven-surefire-plugin not to use the system classloader.

Sour answered 26/10, 2018 at 16:6 Comment(3)
According to the maven-surefire-plugin maintainer, all workarounds (this, setting forkCount to 0, or setting argLine globally) have problems and cannot be applied universally.Collocation
Good find. But please include the actual workaround text in your post, or at least identify the link clearly as a stackoverflow link. I.e. the approach used by @markoorn is more helpful.Cavanagh
Use the latest Surefire version 3.0.0-M5. This was caused by PID checker. Now the checker is disabled and it can be manually enabled and configured.Eupepsia
V
38

I have another workaround. Set the environment variable _JAVA_OPTIONS. I've used this for our TeamCity build agents and now our builds run fine.

_JAVA_OPTIONS=-Djdk.net.URLClassPath.disableClassPathURLCheck=true
Violaceous answered 31/10, 2018 at 14:31 Comment(1)
A breaking change labelled as a security fix is usually not introduced for no reason and so that someone tells on SO how to disable it... just sayin'Stav
M
26

I posted a more targeted variant of one of the above workarounds in JIRA. Add to ~/.m2/settings.xml:

<profile>
    <id>SUREFIRE-1588</id>
    <activation>
        <activeByDefault>true</activeByDefault>
    </activation>
    <properties>
        <argLine>-Djdk.net.URLClassPath.disableClassPathURLCheck=true</argLine>
    </properties>
</profile>
Microfarad answered 1/11, 2018 at 16:5 Comment(2)
This fails with the following warning: [WARNING] Expected root element 'settings' but found 'profile' (position: START_TAG seen <profile>... @1:9) @ /home/nikolai/.m2/settings.xml, line 1, column 9Axilla
@Axilla The above snippet needs to be enclosed in <settings><profiles>...</profiles></settings>.Asphyxiant
P
13

I had this issue in my GitLab CI build, which was using maven:3.5.4-jdk-8 Docker image.

Changing it to maven:3.5.4-jdk-8-alpine fixed the problem.

Paramecium answered 30/10, 2018 at 16:31 Comment(0)
R
8

When using GitLab CI/CD with 3.6.0-jdk-8 image only the property below helped (without modifying pom.xml).

-Dsurefire.useSystemClassLoader=false
Retrenchment answered 29/1, 2019 at 7:19 Comment(1)
This is again a bad practice. The right one is to upgrade the version. Always check the versions in Maven Central.Eupepsia
K
7

I followed this link https://maven.apache.org/surefire/maven-surefire-plugin/examples/class-loading.html and added the below plugin in pom.xml and it worked,

<project>
  [...]
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.22.1</version>
        <configuration>
          <useSystemClassLoader>false</useSystemClassLoader>
        </configuration>
      </plugin>
    </plugins>
  </build>
  [...]
</project>
Koala answered 3/11, 2018 at 4:51 Comment(1)
Use the latest Surefire version 3.0.0-M5. This was caused by PID checker. Now the checker is disabled and it can be manually enabled and configured.Eupepsia
P
5

For those searching for an answer related to Docker Maven: 3.5.x-jdk-8 on GitLab CI, see this GitHub issue.

It appears a 3.5.4-jdk-8 image resulted in upgrade to a minor Java version which somehow affects Surefire's forking mechanism.

Rolling back to 3.5.3-jdk-8 image fixed this for me on my GitLab CI server building Java 1.8 code with Surefire 2.20.1.

Preciosity answered 30/10, 2018 at 23:33 Comment(0)
V
5

The suggestion above to set the property "-Djdk.net.URLClassPath.disableClassPathURLCheck=true" did NOT work for me, but setting the following does work OK:

-DforkCount=0
Viper answered 1/11, 2018 at 16:2 Comment(2)
This has the effect of not creating a new VM for running the tests, so the tests can possibly influence the main build VM.Druggist
Use the latest Surefire version 3.0.0-M5. This was caused by PID checker. Now the checker is disabled and it can be manually enabled and configured.Eupepsia
E
4

For Ubuntu: Install the latest version, it has this bug fixed

sudo apt-get update ; sudo apt-get dist-upgrade -y

Install the last working version (without security patches) without the bug.

sudo apt-get install openjdk-8-jdk-headless=8u181-b13-1 openjdk-8-jdk=8u181-b13-1  openjdk-8-jre=8u181-b13-1  openjdk-8-jre-headless=8u181-b13-1 openjdk-8-source=8u181-b13-1

If you missed that version, use the version before that:

sudo apt-get install openjdk-8-jdk-headless=8u162-b12-1 openjdk-8-jdk=8u162-b12-1  openjdk-8-jre=8u162-b12-1  openjdk-8-jre-headless=8u162-b12-1 openjdk-8-source=8u162-b12-1

Then use either pinning or watch out that you won't install the broken version.

Using -Djdk.net.URLClassPath.disableClassPathURLCheck=true didn't work for me wherever I had put that configuration. Somewhere in my integration-tests it always exited without the old Java version.

As mentioned by Erich it's a bug in the Debian package being too strict 911925 and the Surefire-plugin not acting according to the new rules SUREFIRE-1588.

Electrodialysis answered 5/11, 2018 at 14:15 Comment(5)
Why would anyone suggest to install a version without security patches?! Though other suggestions include skipping tests, huh.Stav
You don't need to anymore :-) It's fixed. But for the meantime I had many java projects which I had to work on and my java runtime was nowhere exposed to any new code from outside. So there was a oversee-able risk that was Ok for me. It's everyone's own decision after all :-)Electrodialysis
Actually you are right, I found that JDK devs walked back on that prop set by default: hg.openjdk.java.net/jdk/jdk/rev/f54dcfc5a5f8; but major version upgrade to surefire does not seem like the best fix to me, actually.Stav
Absolutely! But the changes they had to make are throughout the whole codebase and very invasive. So a minor version change for this fix wouldn't be an option in surefire.Electrodialysis
And unfortunately, 2.x is discontinued and we'll have to make a switch sooner than later: issues.apache.org/jira/browse/…Stav
H
3

It's still an issue for surefire - v2.22.2 with maven:3.6-jdk-8-alpine. To fix the issue, add the below code to pom.xml (as maven plugin)

...
<plugin>    
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId>  
    <configuration>
        <forkCount>0</forkCount>
    </configuration>
</plugin>
...
Hilariohilarious answered 16/5, 2020 at 5:23 Comment(0)
J
2

I've added dependency to junit-jupiter-engine, and it worked.

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.22.1</version>
    <dependencies>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-engine</artifactId>
            <version>5.4.0</version>
        </dependency>
    </dependencies>
</plugin>
Jujitsu answered 1/3, 2019 at 13:4 Comment(1)
What black magic this jupiter-plugin does? This worked for me! Upvote! :-)Academicism
I
2

Adding this to the maven-surefire-plugin I resolved the problem:

    <plugin>    
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-surefire-plugin</artifactId>  
        <configuration>
            <forkCount>0</forkCount>
        </configuration>
    </plugin>
Ivonneivor answered 23/3, 2020 at 20:28 Comment(0)
A
1

I recently setup maven job on Jenkins and got stuck into the same problem. I took the suggestion to modify the JAVA env variable and confirm the issue resolved. This is how I tested.

Becomes "jenkins" user and change folder to workspace project name that you setup for the job.

 $ _JAVA_OPTIONS=-Djdk.net.URLClassPath.disableClassPathURLCheck=true mvn clean install -U

 $ lsb_release -rd
 Description:   Ubuntu 16.04.5 LTS
 Release:   16.04

 $ mvn -v
 Apache Maven 3.3.9
 Maven home: /usr/share/maven
 Java version: 1.8.0_181, vendor: Oracle Corporation
 Java home: /usr/lib/jvm/java-8-openjdk-amd64/jre
 Default locale: en_US, platform encoding: UTF-8
 OS name: "linux", version: "4.4.0-131-generic", arch: "amd64", family: "unix"
Alamode answered 22/11, 2018 at 19:32 Comment(0)
W
1

Basically is an incompatibility between JDK version and maven-surefire plugin version, in my case, JDK 11.0.5 doesn't work with surefire 3.0.0-M4, I had to switch to 3.0.0-M3 and it worked. setting forkCount to 0 doesn't fix the issue because it breaks the Jacoco report.

Weekly answered 20/6, 2020 at 23:14 Comment(0)
O
0

I uninstalled the JDK that comes in the repositories:

$ sudo apt purge openjdk-8-jdk

$ sudo apt autoremove

Then I deleted the JAVA_HOME environment variable. Mine was set in my .bashrc.

Then I reinstalled it through SDKMAN:

$ sdk install java 8.0.181-zulu

From their site:

SDKMAN! is a tool for managing parallel versions of multiple Software Development Kits on most Unix based systems. It provides a convenient Command Line Interface (CLI) and API for installing, switching, removing and listing Candidates.

To see other versions of the JDK to install, use:

$ sdk list java
Oconnor answered 16/11, 2018 at 18:55 Comment(0)
H
0

I was facing the same issue with gitlab ci, changing maven image from maven:3-jdk-8 to maven:3.6.0-jdk-8-alpine seems to fix the issue. Btw I also tested with maven:3.6.0-jdk-8 but it didn't work neither.

Helm answered 20/12, 2018 at 13:18 Comment(0)
C
0

For me, in Visual Studio Code

I did not do any changes in the pom.xml file or updated any dependency versions
Adding this line to settings.json of Visual Studio Code solved the problem.

"maven.executable.options": "-DforkCount=0",
Cochran answered 12/10, 2020 at 19:30 Comment(0)
M
-1

If like me you have issues in your pipeline (for me it's in GitLab, but whatever) and if you are using a Maven JDK 8 Docker image.

You can replace

image: maven:3.5.4-jdk-8

by the last working build

image: maven@sha256:b37da91062d450f3c11c619187f0207bbb497fc89d265a46bbc6dc5f17c02a2b
Mcleroy answered 31/10, 2018 at 8:42 Comment(2)
The problem comes from the latest jdk8 for debian, In my opinion it's better to "fix" the core problem than to try to work around it.Goy
The sha256 sound tricky and afraid you ? Actually other answer looks more like a work around, disable some feature from surefire, here it's just about use the last working docker image without changing your working pom or pipeline which is a work around.Mcleroy

© 2022 - 2024 — McMap. All rights reserved.