it-swarm.com.de

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

Ich habe einen neuesten maven-3.0.4 unter Windows 7 installiert:
.__ Die Installationsdetails lauten wie folgt:
Installationspfad: 

C:\Apache-maven-3.0.4  

Umgebungsvariablen sind: 

M2_HOME C:\Apache-maven-3.0.4\Apache-maven\src  
Java_HOME C:\Program Files\Java\jdk-1.7.0_04  

Hinzugefügte Pfadvariablen sind: 

%M2_HOME%\bin;%Java_HOME%\bin;

Im Befehlsfenster zeigt es es so: 

C:\>Java -version  
Java version "1.7.0_04"  
Java(TM) SE Runtime Environment (build 1.7.0_04-b22)  
Java HotSpot(TM) Client VM (build 23.0-b21, mixed mode, sharing)  
C:\>mvn -version  
Error: Could not find or load main class org.codehaus.plexus.classworlds.launcher.Launcher  

Dies ist die einzige Version von maven, die auf meinem PC installiert ist, und die in vielen Blogs angegebene Lösung, die sich auf das Löschen der vorherigen Umgebungsvariable M2_HOME bezieht, ist ungültig. 

Ich habe alle Lösungen aus den Blogs gelesen und ausprobiert wie: 

aber immer noch nicht in der Lage, es zu erreichen. Was könnte mir in dieser ganzen Sache fehlen? Danke im Voraus. 

124
manofsins

Ich traf dieses Problem auch und fand diesen Artikel. Für Maven3 war es ein Trick, den Namen meiner Umgebungsvariablen von M2_HOME in M3_HOME zu ändern. Ich bin auf einem Mac mit OSX 10.9 und JDK 1.7. Hoffe das hilft.

Hinweis: Bitte löschen Sie M2_HOME, falls bereits festgelegt. ZB: unset M2_HOME

126
Ian

Ich hatte das gleiche Problem und konnte es lösen, indem ich die Umgebungsvariablen sorgfältig wiederholte: 

  • M2_HOME 
  • M2 
  • Java_HOME

Außerdem habe ich sie alle aus System Variables gemacht, keine Benutzervariablen wie die Maven-Anweisungen. Wenn du 

echo %Path%

Stellen Sie sicher, dass Sie die% M2% - und% Java_HOME% -Variablen vollständig erweitert sehen können, d. H.

C:\Users\afairchild>echo %Path%
C:\Program Files\Apache Software Foundation\Apache-maven-3.0.4\bin;C:\Program Files\Java\jdk1.7.0_09\bin; [etc]
60
Alex Fairchild

Obwohl die Frage beantwortet wurde, möchte ich Folgendes hinzufügen: Wenn Sie den oben genannten Fehler erhalten, stellen Sie sicher, dass Sie die Datei Binary heruntergeladen haben. 

Die Quelldatei sollte nur heruntergeladen werden, wenn Sie ein fortgeschrittener Benutzer sind und wissen, wie Sie damit umgehen. 

Ich hatte ziemlich viele Leute, die die falsche Datei heruntergeladen haben, Senioren und Junioren

51
dirbacke

Hatte dieses Problem auf zwei verschiedenen Ubuntu 12.04-Installationen, obwohl die Installationen von apt-get ausgeführt wurden. Ausgabe war M2_HOME.

Behoben mit:

export M2_HOME=/usr/share/maven
47
Joseph Lust

Es klingt, als hätten Sie die Quelldateien anstelle der Binärdateien basierend auf Ihren Pfadinformationen installiert (extrahiert). Installieren Sie stattdessen die Binärdateien und folgen Sie der Antwort der anderen Poster.

19
jdmidtun

Ich glaube, dieser Fehler wurde verursacht, weil SRC statt BINARY von der Maven-Site heruntergeladen wurde. Bitte stellen Sie sicher, dass Sie Binary Zip herunterladen.

Der unten angegebene Pfad wird nur beim Download von SRC angezeigt:

M2_HOME C:\Apache-maven-3.0.4\Apache-maven\src

 enter image description here

15
saravp

Nun, ich hatte dieses Problem und nachdem ich diesen Beitrag und insbesondere die Antwort von Khmarbaise gesehen hatte, fiel mir auf, dass M2_HOME war 

D:\workspace\Apache-maven-3.1.0-bin\Apache-maven-3.1.0\bin

und dann chaged ich es zu 

D:\workspace\Apache-maven-3.1.0-bin\Apache-maven-3.1.0

Ich möchte erwähnen, dass ich Windows 7 (x64) verwende. 

13
Adelin

Die Lösung für spätere Versionen von Maven ist unkompliziert. Ich bin auf OS X ElCap, 10.11.6, und habe ein Upgrade auf Maven 3.3.9. Ich hatte das gleiche Problem mit dem Fehler "Could not find ...org.codehaus.plexus...". Der Link hier bot die Lösung in einem Kommentar von McKamey an - einfach M2_HOME (unset M2_HOME) löschen. Nachdem ich das probiert hatte, funktionierte alles wie erwartet. 

Dies kann durch den Besuch von Maven install page bestätigt werden: "Fügen Sie der PATH-Umgebungsvariablen das bin-Verzeichnis des erstellten Verzeichnisses Apache-maven-3.3.9 hinzu.".

5
JESii

Sie sollten den Speicherort des M2_HOME folgendermaßen ändern:

set M2_HOME=C:\Apache-maven-3.0.4\Apache-maven

Außerdem sieht die Installation des JDK eher als JRE statt als JDK aus. Für Maven brauchst du JDK und NICHT JRE.

4
khmarbaise

Auf meinem Mac OSX bin ich auf ein ähnliches Problem gestoßen. Nach einer Reihe von Versuchs- und Fehlerversuchen konnte ich es endlich lösen.

Mein ~/.bash_profile sah so aus

export M2_HOME=/Users/xyz/maven-3.x/bin
export PATH=$PATH:$M2_HOME

und als ich echo M2_HOME vom Terminal aus versuchte, zeigte es mir den richtigen Pfad an, aber wenn ich versuchte, einen Mavenbefehl wie mvn clean oder mvn install abzufeuern, gab es immer dasselbe Problem

Hauptklasse org.codehaus.plexus.classworlds.launcher.Launcher konnte nicht gefunden oder geladen werden

Ich habe dieses Problem gelöst, indem ich meinen M2_HOME zu diesem geändert habe

export M2_HOME=/Users/xyz/maven-3.x
export PATH=$PATH:$M2_HOME/bin

Und voila! Es fing an zu arbeiten! Verschieben Sie einfach die Position von /bin von M2_HOME vor die PATH.

3
Saif Asif

Bei den meisten Maven-Einstellungsproblemen wie "Konnte Hauptklasse nicht finden oder laden ..." beginnen die folgenden Schritte, um zu sehen, ob das Problem behoben wird:

  • Stellen Sie sicher, dass Sie das rechte Archiv entpackt haben (BINARY-Archiv und nicht SOURCE-Archiv).
  • Entfernen Sie alle Benutzer- und Systemvariablen, die mit Maven in Verbindung stehen (z. B. M2_HOME, M2_OPTS usw.).
  • Stellen Sie sicher, dass die Java_HOME-Systemvariable eingerichtet ist (z. B. "C:\Programme\Java\jdk1.8.0_172").
  • Stellen Sie sicher, dass der Java-Speicherplatz in der Systemvariablen "path" hinzugefügt wird (z. B. "% Java_HOME%\bin").
  • Stellen Sie sicher, dass die Maven-Bin-Position in der Systemvariablen "path" hinzugefügt wird (z. B. "C:\MyInstalls\Apache-maven-3.5.4\bin").

dann...

  • Stellen Sie sicher, dass Java eingerichtet ist (unter Befehlszeile: Java-Version).
  • Vergewissern Sie sich, dass maven eingerichtet ist (unter commandprompt: mvn --version).
2
Sreekanth

Stellen Sie nur sicher, dass Sie das Binary Zip-Archiv (Apache-maven-3.5.0-bin.Zip) anstelle des Source Zip-Archivs heruntergeladen haben. Fügen Sie dann das bin-Verzeichnis des erstellten Verzeichnisses Apache-maven-3.5.0 zur Umgebungsvariable PATH hinzu.

2
Shaini Sinha

Ich hatte das gleiche Problem. Ich habe Windows XP-Box und wenn ich mvn -version an der Eingabeaufforderung der Befehlszeile eingebe, erhielt ich die gefürchtete Fehlermeldung 

"Exception in thread "main" Java.lang.NoClassDefFoundError: org/codehaus/plexus/classworlds/launcher/Launcher"

Ich bestätigte, dass meine M2_HOME-Variable auf den Pfad gesetzt wurde, in dem Maven auf dem PC installiert wurde, und dass der echo %path% bestätigte, dass sich Maven in meinem Pfad befand. 

Ich habe stundenlang nach einer Lösung gesucht, als ich zu meiner Lösung stolperte (ich sage meine Lösung, weil ich weiß, dass dies wahrscheinlich nicht die Lösung für alle sein wird, die den gleichen Fehler erhalten). 

Ich habe den Pfad meiner M2_HOME-Variablen kopiert. Ich öffnete ein Cmd-Fenster, tippte cd ein und fügte den Pfad ein, den ich aus meiner M2_HOME-Variablen erhielt. Zu diesem Zeitpunkt wusste ich, dass der Pfad korrekt war, da der Pfad im Fenster angezeigt wurde. An diesem Punkt habe ich den Befehl dir eingegeben und zu meiner Überraschung bekam ich den Fehler File Not Found. 

Ich bin diesen Weg über den Explorer gegangen und es waren tatsächlich Dateien vorhanden. Ich bemerkte, dass die Ordner ausgeblendet waren, aber ich konnte darauf zugreifen und die Dateien in jedem Ordner sehen (ich habe Administratorrechte auf meinem PC). Ich habe mir die Eigenschaften des übergeordneten Ordners für Maven angesehen und festgestellt, dass das Kontrollkästchen Ausgeblendet markiert war. Ich entfernte den Scheck und bewarb mich und versuchte meinen dir-Befehl erneut mit Erfolg.

Als nächstes versuchte ich den Befehl mvn –version erneut, aber dieses Mal erhielt ich die erwarteten Ergebnisse zurück.

C:\>mvn -version
Apache Maven 3.0.3 (r1075438; 2011-02-28 11:31:09-0600)
Maven home: C:\Program Files\Apache-maven-3.0.3
Java version: 1.5.0_16, vendor: Sun Microsystems Inc.
Java home: C:\Java\jdk1.5.0_16\jre
Default locale: en_US, platform encoding: Cp1252
OS name: "windows xp", version: "5.1", Arch: "x86", family: "windows"

Schließlich habe ich eine Jar- und War-Datei erstellt und meine Web-App wurde auf meinem lokalen Tomcat erfolgreich ausgeführt.

Ich hoffe, das hilft einigen von euch da draußen.

2
Lou

Auch ich stand vor einem ähnlichen Problem. In meinem Fall habe ich den Apache-maven-3.3.3-src-Ordner in Pfadvariablen verwendet. Später habe ich diese mit dem korrekten Pfad des Ordners Apache-maven-3.3.3-bin korrigiert. Dies hat das Problem gelöst. Ich sage nicht, dass dies der gleiche Fehler ist, der hier gemeldet wird, aber auf diese Weise können Sie auch diesen Fehler erhalten und ihn korrigieren. Das versuche ich hier zu sagen.

1
vinoth kumar

Ich denke, Sie laden die falsche Version herunter. Ich habe dieses Problem gerade jetzt gefunden. Nach dem Suchen und Durchsuchen funktioniert keine Methode. Schließlich fand ich, dass der von mir heruntergeladene Maven " Source Zip archive ..__" ist Ich wechsle zu Binary Zip Archiv , alles wird gut.

1
Mithril

die Installation der Binärversion von Maven behebt die Probleme

Apache-maven-3.6.1-bin.Zip

1
Bharath Kumar

Versuchen Sie, binäre Zip (z. B. Maven 3.0.5 (Binary Zip)) anstelle der vollständigen Quelle auf der offiziellen Maven-Site .. zu laden. Stellen Sie außerdem sicher, dass die Befehlszeile Java- und Javac-Befehle erkennt Zip enthielt keine Bibliotheken im lib-Ordner. Binary Zip hatte sie jedoch im Boot-Ordner mit plexus-classworlds-2.4.jar. Vielleicht lag das Problem im Fehlen dieser Bibliotheken. Wie auch immer, es hat mir geholfen, also ist mein M2_HOME: C:\Programme\Java\Apache-maven-3.0.5 und bei PATH stelle ich: C:\Programme\Java\Apache-maven-3.0.5\bin.

1
Shendor

Ich finde, dass dieses Problem in meinem CentOS durch "Oracle Java wird durch gcj ersetzt" verursacht wird. Nachdem Standard-Java in "Oracle Java" geändert wurde, ist das Problem behoben.

alternatives --config Java

There are 2 programs which provide 'Java'.

  Selection    Command
-----------------------------------------------
*  1           /usr/lib/jvm/jre-1.5.0-gcj/bin/Java
 + 2           /usr/Java/jdk1.7.0_67/bin/Java
1
wu liang

Für andere Personen, die möglicherweise auf dieses Problem stoßen, sollten Sie ~/.mavenrc auf M2_HOME- oder Java_HOME-Einstellungen überprüfen.

1
JBCP

Abgesehen von dem, was @khmarbaise hervorgehoben hat, haben Sie wahrscheinlich Ihren Java_HOME falsch geschrieben. Wenn Sie am Standardspeicherort installiert haben, sollte zwischen jdk und 1.7.0_04 kein "-" (Bindestrich) stehen. So wäre es

Java_HOME C:\Program Files\Java\jdk1.7.0_04 
1
Raghuram

Es sieht so aus, als hätten Sie Quelldateien installiert (weil src nur in Quelldateien enthalten ist und wir sie nicht brauchen). Versuchen Sie, Binary Files von there . Zu installieren und dann Umgebungsvariablen wie beschrieben there ..__ einzustellen. Und ich bin sicher, dass es auch für Sie funktionieren wird.

1
Hammad Hassan

Ich hatte dieses Problem, als ich Maven 3.5.4 unter OpenJDK 11 unter Ubuntu verwendete. Das OpenJDK 11 auf Ubuntu ist eigentlich noch ein JDK10:

$ ls -al /etc/alternatives/Java
lrwxrwxrwx 1 root root 43 Aug 24 04:54 /etc/alternatives/Java -> /usr/lib/jvm/Java-11-openjdk-AMD64/bin/Java
$ Java --version
openjdk 10.0.2 2018-07-17
OpenJDK Runtime Environment (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.3)
OpenJDK 64-Bit Server VM (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.3, mixed mode)

Ich habe OpenJDK von Oracle in /opt/jdk-11.0.1 installiert und Maven wie folgt ausgeführt:

Java_HOME=/opt/jdk-11.0.1 mvn

Es funktioniert jetzt wie ein Zauber.

0
Christian Hujer

Der gleiche Fehler kann auch bei korrekten Umgebungsvariableneinstellungen auftreten, wenn Sie das Verzeichnis NUR bin in das Installationsverzeichnis kopieren . which funktioniert einwandfrei und Novizen bleiben hängen.

0
dytori

Für mich, komisch wie es klingt, half es einfach, Eclipse... neu zu starten.

0
membersound

Öffnen Sie ein neues Terminal und gehen Sie wie folgt vor

M2_HOME=/Users/macbook/Apache-maven-3.6.1 //Set where maven is
M2=$M2_HOME/bin                          //Set home as bin
export PATH=$M2:$PATH                   //Place the new path

Dann tippe

mvn -version

Sie können dies in ./bash_profile so einstellen, dass dies bei jedem Start des Terminals automatisch erfolgt

0

Ich hatte ein Problem mit dem todsicheren Plugin. Zurück zu Version 2.6 funktionierte für mich. Version 2.18/20/22.1 gab mir den Fehler ..__ Jetzt habe ich Version 3.0.0-M1 von surefire plugin ausprobiert und es funktioniert.

In der todsicheren Version zwischen Version 2.6 und 3.0.0 stimmt also etwas nicht. Ich gehe davon aus, dass es als Standard etwas Hardcodiertes gibt, das nicht sollte.

0
Coolius

Das hat bei mir funktioniert:

  1. Entfernen Sie alle Mavin-Referenzen in Umgebungsvariablen
  2. Laden Sie das Binary von mavin herunter
  3. Entpacken Sie es an die Stelle, an der Sie möchten, zB C:\Apache-maven-3.6.0
  4. Wechseln Sie zu Umgebungsvariablen und fügen Sie den Pfad System variable "C:\Apache-maven-3.6.0\bin" hinzu.
  5. starten Sie die Eingabeaufforderung als Administrator
  6. überprüfen Sie die Version mit: mvn -v

CMD-Ergebnis:

Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-24T20: 41: 47 + 02: 00) Maven-Ausgangsverzeichnis: C:\Apache-Maven-3.6.0\bin ..

0
Aberaitius