Java >> Java Tutorial >  >> Tag >> class

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

  1. Forkbooter-Klasse konnte nicht gefunden werden – hier
  2. Todsicherer Fehler


No
Java-Tag