Java >> Java tutorial >  >> Tag >> class

Kunne ikke finde eller indlæse hovedklassen org.apache.maven.surefire.booter.ForkedBooter

Problem med Surefire-biblioteket

For nylig mislykkedes en af ​​mine Jenkins build med fejlen Could not find or load main class org.apache.maven.surefire.booter.ForkedBooter . Et sikkert plugin, som maven brugte til at køre JUnit-tests, fejlede.

En løsning til at løse problemet med Surefire-biblioteket

Jeg fandt to løsninger på dette problem. Men lad os først prøve at forstå, hvad der præcist forårsagede dette problem.

I OpenJDK version 1.8.181 , var der nogle adfærdsændringer, der kan være årsagen til dette problem. Jeg havde opdateret Java-versionen til brug baseret på systemet i min Jenkins-build. Dette vil lave et system til at få den seneste åbne JDK. Der er også en fejl i surefire-plugin'et, der bruger absolutte stier, mens Java kun tillader relative stier. Du kan finde flere detaljer om dette problem her.

Så for at løse dette problem er den nemmeste løsning Djdk.net.URLClassPath.disableClassPathURLCheck=true .

En anden løsning, der virkede for mig, var at gå tilbage til den ældre JDK-version, som jeg brugte i Jenkins build, før jeg skiftede til System mulighed. Jeg gik tilbage til åben JDK version 1.8.118 version, og det gjorde det også.

Konklusion

Afslutningsvis viste jeg, hvordan man retter en fejl under Jenkins build "Kunne ikke finde eller indlæse hovedklassen". Hvis du kunne lide dette indlæg, så abonner på min blog her.

Referencer

  1. Kunne ikke finde forkedbooter-klassen – her
  2. Surefire-fejl


No
Java tag