Maven-Fehler: Die Hauptklasse org.codehaus.plexus.classworlds.launcher.Launcher konnte nicht gefunden oder geladen werden

8

Ich war seit einer Stunde mit diesem einfachen Problem beschäftigt. Maven hat letzte Woche gut funktioniert, ich weiß nicht, was schiefgelaufen ist, es gibt mir diesen Fehler. Ich habe alle Möglichkeiten zum Debuggen und alle Lösungen aus StackOverflow und vielen anderen Bereichen ausprobiert. Ich habe sogar versucht, M2_HOME Pfad mit M3_HOME und MAVEN_HOME zu ersetzen. Nichts hat geklappt. Ich bin auf OS X. Unten ist die Ausgabe einiger Maven-Befehle. Ich werde glücklich sein, mehr Informationen zur Verfügung zu stellen.

%Vor%     
Prashanth 14.10.2015, 19:18
quelle

11 Antworten

21
___ answer43146092 ___

Stellen Sie sicher, dass Sie die "Binärarchive" von der Maven-Site und nicht die "Quellarchive" herunterladen, um absolut neue Leute zu maven.

    
___ qstntxt ___

Ich war seit einer Stunde mit diesem einfachen Problem beschäftigt. Maven hat letzte Woche gut funktioniert, ich weiß nicht, was schiefgelaufen ist, es gibt mir diesen Fehler. Ich habe alle Möglichkeiten zum Debuggen und alle Lösungen aus StackOverflow und vielen anderen Bereichen ausprobiert. Ich habe sogar versucht, M2_HOME Pfad mit M3_HOME und MAVEN_HOME zu ersetzen. Nichts hat geklappt. Ich bin auf OS X. Unten ist die Ausgabe einiger Maven-Befehle. Ich werde glücklich sein, mehr Informationen zur Verfügung zu stellen.

%Vor%     
___ answer45291574 ___

Entfernen und erneut installieren funktionierte für mich.

Einzelheiten:

  • Es war ungefähr ein Jahr her, seit ich auf diesem Linux-Rechner gelaufen bin.
  • Java wurde von 7 auf 8 aktualisiert (es sind aber auch andere Änderungen aufgetreten).
  • Mein M2_HOME / M3_HOME wurde nicht definiert (daher war das Löschen keine Lösung).
  • Das Ausführen des %code% -Skripts im Debug ( %code% ) hat gezeigt, dass die fehlende JAR-Datei explizit angefordert wurde.
  • Ich konnte nur eine ältere Version des %code% Pakets / Moduls finden.

Da es nicht klar war, wie man die %code% jars selbständig aktualisiert, lasse ich %code% einziehen, was benötigt wird. Problem gelöst.

    
___ answer31905456 ___
  

Bitte entfernen Sie M2_HOME als Umgebungsvariable, es ist bereits festgelegt durch   das mvn-Skript. Die einzigen Dinge, die Sie tun müssen, ist: hinzufügen   apache-maven-3.x.x / bin zu deinem Pfad, setze JAVA_HOME als Umgebung   Variable. Sie müssen also% JAVA_HOME% / bin nicht zu Ihrem Pfad hinzufügen

     

Versuchen Sie, zuerst mvn -v vom Ordner /Library/Maven-3.3.3/bin/ auszuführen   Bestätigen Sie, dass die Installation korrekt ist. Versuchen Sie, mvn mit xtrace info auszuführen   (tldp.org/LDP/Bash-Beginners-Guide/html/sect_02_03.html) und verifizieren   die Kommandozeile von Maven. Ich nehme an, Sie bekommen ein unerwartetes   Klassenpfad-Argumentwert.

    
___ qstnhdr ___ Maven-Fehler: Die Hauptklasse org.codehaus.plexus.classworlds.launcher.Launcher konnte nicht gefunden oder geladen werden ___ answer38195524 ___

Für was es wert ist, hatte ich den gleichen Fehler: die %code% Sache, aber ohne irgendwelche anderen Informationen (Sie finden viele Leute mit dieser Fehlermeldung - aber in der Regel von zusätzlichen Informationen wie Klassenladefehler begleitet).

Es stellte sich heraus, dass ich eine beschädigte Installation hatte, vielleicht konnten einige Dateien im Hintergrund nicht kompiliert werden oder so etwas. A %code% des Maven-Verzeichnisses und erneut herunterladen und entpacken behoben.

    
___ answer39187661 ___

Ich habe das Problem gelöst, es hat mir gut getan: Löschen Sie die Maven-Unzip-Datei. und dann den neueren bekommen. Konfigurieren Sie dann den Pfad neu. weil die ursprüngliche Datei beschädigt wurde. Verwenden Sie mvn -v

    
___ answer40198465 ___

BEARBEITEN: Beachten Sie, dass dies für Mac-Benutzer

gilt

%code% muss aus %code% entfernt werden. Standardmäßig wird Ihre %code% möglicherweise aus einer der folgenden Dateien abgerufen (für mich war es in %code% ).

%Vor%

Es sieht vielleicht so aus:

%Vor%

Entfernen Sie die Variablen %code% und alle Abhängigkeiten (im Beispiel verwendet die %code% Variable %code% , also entfernen Sie diese und die Zeile, nach der %code% verwendet wird) wo immer sie angezeigt wird.

[ Quelle ]

Um mehr Informationen darüber zu geben, wie diese Datei verwendet wird, können Sie den Pfad, den Sie in den Pfad aufnehmen möchten, anhängen.

Wenn Sie beispielsweise %code% in Pfad einfügen möchten, fügt das Hinzufügen der unteren Zeile am Ende der Datei %code% (in Ihrem Fall die Position des Ordners) an den PATH an.

%code% .

Aber stellen Sie sicher, dass die %code% bereits einige Informationen vor der obigen Zeile hat.

    
___ answer42514570 ___

Was ich getan habe, war, dass ich (in meinem .bash_profile) das

umbenannte %Vor%

bis

%Vor%

und dann den Befehl (Danke TS!)

%Vor%

und

%Vor%

Und ich habe gesehen, dass es einen anderen Pfad in den beiden gibt, also habe ich den %code% Pfad so geändert, dass er derselbe ist, wie er mir im "Which mvn" Befehl gezeigt hat. Um diesen Pfad zu ändern, habe ich gerade die .bash_profile-Datei bearbeitet, wo ich die Variable hatte.

    
___ answer43256836 ___

Das Neustarten der Eclipse hat das Problem für mich gelöst.

    
___ tag123java ___ Java (nicht zu verwechseln mit JavaScript oder JScript oder JS) ist eine universelle objektorientierte Programmiersprache, die für die Verwendung in Verbindung mit der Java Virtual Machine (JVM) entwickelt wurde. "Java-Plattform" ist der Name für ein Computersystem, auf dem Tools zum Entwickeln und Ausführen von Java-Programmen installiert sind. Verwenden Sie dieses Tag für Fragen, die sich auf die Java-Programmiersprache oder Java-Plattform-Tools beziehen. ___ answer41111092 ___

In meinem Fall zeigte %code% auf %code% ; aber ich hätte es sein sollen:

  

M2_HOME = / usr / share / maven

in .bashrc

    
___ tag123maven ___ Apache Maven ist ein Build-Automation- und Projektmanagement-Tool, das hauptsächlich für Java-Projekte verwendet wird. Dieses Tag ist für Fragen gedacht, die sich nicht auf eine bestimmte Maven-Version beziehen. Verwenden Sie stattdessen den Gradle-Tag für Fragen zu Gradle. ___ answer41608409 ___

Nach meiner Erfahrung überprüfen Sie bitte Ihr / bin / mvn, das ein POSIX-Shell-Skript ist. In dem Skript findet es zuerst maven-bezogenes env aus z.B. / etc / mavenrc oder $ HOME / .mavenrc. In meinem Fall, in / etc / mavenrc, wurde die Variable M2_HOME env auf die Variable gesetzt, die ich entfernt hatte, und nachdem ich M2_HOME auf die neue maven-Installation gesetzt hatte, funktionierte "mvn -v".

    
___ answer46687675 ___

Das Entfernen der alten Maven-Version und das Wiederherstellen der neueren löste mein Problem. Ich habe Maven 3.2.3 früher mit Java 1.8.0_65 benutzt. Habe gerade versucht, frühere Maven-Version durch 3.3.9 zu ersetzen, habe Änderungen an Umgebungsvariablen vorgenommen und es hat funktioniert.

    
___
Robert Scholte 17.10.2015, 19:11
quelle
3

Für was es wert ist, hatte ich den gleichen Fehler: die Could not find or load main class org.codehaus... Sache, aber ohne irgendwelche anderen Informationen (Sie finden viele Leute mit dieser Fehlermeldung - aber in der Regel von zusätzlichen Informationen wie Klassenladefehler begleitet).

Es stellte sich heraus, dass ich eine beschädigte Installation hatte, vielleicht konnten einige Dateien im Hintergrund nicht kompiliert werden oder so etwas. A rm -rf des Maven-Verzeichnisses und erneut herunterladen und entpacken behoben.

    
BeeOnRope 05.07.2016 05:07
quelle
2

Stellen Sie sicher, dass Sie die "Binärarchive" von der Maven-Site und nicht die "Quellarchive" herunterladen, um absolut neue Leute zu maven.

    
Z3d4s 31.03.2017 17:02
quelle
2

BEARBEITEN: Beachten Sie, dass dies für Mac-Benutzer

gilt

M2_HOME muss aus PATH entfernt werden. Standardmäßig wird Ihre PATH möglicherweise aus einer der folgenden Dateien abgerufen (für mich war es in ~/.profile ).

%Vor%

Es sieht vielleicht so aus:

%Vor%

Entfernen Sie die Variablen M2_HOME und alle Abhängigkeiten (im Beispiel verwendet die M2 Variable M2_HOME , also entfernen Sie diese und die Zeile, nach der $M2 verwendet wird) wo immer sie angezeigt wird.

[ Quelle ]

Um mehr Informationen darüber zu geben, wie diese Datei verwendet wird, können Sie den Pfad, den Sie in den Pfad aufnehmen möchten, anhängen.

Wenn Sie beispielsweise /User/batman/google-sdk in Pfad einfügen möchten, fügt das Hinzufügen der unteren Zeile am Ende der Datei /Users/batman/google-sdk (in Ihrem Fall die Position des Ordners) an den PATH an.

export PATH=$PATH:/Users/batman/google-sdk .

Aber stellen Sie sicher, dass die PATH bereits einige Informationen vor der obigen Zeile hat.

    
Crocode 23.10.2016 00:41
quelle
1

Entfernen und erneut installieren funktionierte für mich.

Einzelheiten:

  • Es war ungefähr ein Jahr her, seit ich auf diesem Linux-Rechner gelaufen bin.
  • Java wurde von 7 auf 8 aktualisiert (es sind aber auch andere Änderungen aufgetreten).
  • Mein M2_HOME / M3_HOME wurde nicht definiert (daher war das Löschen keine Lösung).
  • Das Ausführen des mvn -Skripts im Debug ( bash -x mvn ) hat gezeigt, dass die fehlende JAR-Datei explizit angefordert wurde.
  • Ich konnte nur eine ältere Version des org.codehaus.plexus.classworlds Pakets / Moduls finden.

Da es nicht klar war, wie man die org.codehaus jars selbständig aktualisiert, lasse ich apt-get einziehen, was benötigt wird. Problem gelöst.

    
jmarks 24.07.2017 23:23
quelle
0

Ich habe das Problem gelöst, es hat mir gut getan: Löschen Sie die Maven-Unzip-Datei. und dann den neueren bekommen. Konfigurieren Sie dann den Pfad neu. weil die ursprüngliche Datei beschädigt wurde. Verwenden Sie mvn -v

    
user6139322 28.08.2016 03:05
quelle
0

In meinem Fall zeigte M2_HOME auf /usr/share/maven3 ; aber ich hätte es sein sollen:

  

M2_HOME = / usr / share / maven

in .bashrc

    
wolfie 12.12.2016 22:57
quelle
0

Nach meiner Erfahrung überprüfen Sie bitte Ihr / bin / mvn, das ein POSIX-Shell-Skript ist. In dem Skript findet es zuerst maven-bezogenes env aus z.B. / etc / mavenrc oder $ HOME / .mavenrc. In meinem Fall, in / etc / mavenrc, wurde die Variable M2_HOME env auf die Variable gesetzt, die ich entfernt hatte, und nachdem ich M2_HOME auf die neue maven-Installation gesetzt hatte, funktionierte "mvn -v".

    
Bo Hu 12.01.2017 08:35
quelle
0

Das Entfernen der alten Maven-Version und das Wiederherstellen der neueren löste mein Problem. Ich habe Maven 3.2.3 früher mit Java 1.8.0_65 benutzt. Habe gerade versucht, frühere Maven-Version durch 3.3.9 zu ersetzen, habe Änderungen an Umgebungsvariablen vorgenommen und es hat funktioniert.

    
theBestIsYetToCome 11.10.2017 11:59
quelle
0

Was ich getan habe, war, dass ich (in meinem .bash_profile) das

umbenannte %Vor%

bis

%Vor%

und dann den Befehl (Danke TS!)

%Vor%

und

%Vor%

Und ich habe gesehen, dass es einen anderen Pfad in den beiden gibt, also habe ich den $M2_HOME Pfad so geändert, dass er derselbe ist, wie er mir im "Which mvn" Befehl gezeigt hat. Um diesen Pfad zu ändern, habe ich gerade die .bash_profile-Datei bearbeitet, wo ich die Variable hatte.

    
kwic 28.02.2017 16:58
quelle
-1

Das Neustarten der Eclipse hat das Problem für mich gelöst.

    
Vikky 06.04.2017 13:36
quelle

Tags und Links