Hauptklasse org.apache.maven.surefire.booter.ForkedBooter konnte nicht gefunden oder geladen werden
Problem mit der Surefire-Bibliothek
Kürzlich ist einer meiner Jenkins-Builds mit einem Fehler Could not find or load main class org.apache.maven.surefire.booter.ForkedBooter
fehlgeschlagen . Ein todsicheres Plugin, das Maven zum Ausführen von JUnit-Tests verwendet hat, ist fehlgeschlagen.
Eine Lösung zur Behebung des Problems mit der Surefire-Bibliothek
Ich habe zwei Lösungen für dieses Problem gefunden. Aber zuerst versuchen wir zu verstehen, was genau dieses Problem verursacht hat.
In OpenJDK-Version 1.8.181 , gab es einige Verhaltensänderungen, die der Grund für dieses Problem sein könnten. Ich hatte die Java-Version aktualisiert, um sie basierend auf dem System in meinem Jenkins-Build zu verwenden. Dadurch wird ein System erstellt, um das neueste offene JDK abzurufen. Außerdem gibt es einen Fehler im todsicheren Plugin, der absolute Pfade verwendet, während Java nur relative Pfade zulässt. Weitere Einzelheiten zu diesem Problem finden Sie hier.
Um dieses Problem zu beheben, ist die einfachste Lösung Djdk.net.URLClassPath.disableClassPathURLCheck=true
.
Eine andere Lösung, die für mich funktioniert hat, war, zu der älteren JDK-Version zurückzukehren, die ich im Jenkins-Build verwendet habe, bevor ich zu System
gewechselt bin Möglichkeit. Ich kehrte zur offenen JDK-Version 1.8.118 zurück Version und es hat auch funktioniert.
Schlussfolgerung
Abschließend habe ich gezeigt, wie man einen Fehler während des Jenkins-Builds „Hauptklasse konnte nicht gefunden oder geladen werden“ behebt. Wenn Ihnen dieser Beitrag gefallen hat, abonnieren Sie hier meinen Blog.
Referenzen
- Forkbooter-Klasse konnte nicht gefunden werden – hier
- Todsicherer Fehler