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%Stellen Sie sicher, dass Sie die "Binärarchive" von der Maven-Site und nicht die "Quellarchive" herunterladen, um absolut neue Leute zu maven.
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%Entfernen und erneut installieren funktionierte für mich.
Einzelheiten:
Da es nicht klar war, wie man die %code% jars selbständig aktualisiert, lasse ich %code% einziehen, was benötigt wird. Problem gelöst.
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.
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.
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
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.
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.
Das Neustarten der Eclipse hat das Problem für mich gelöst.
In meinem Fall zeigte %code% auf %code% ; aber ich hätte es sein sollen:
M2_HOME = / usr / share / maven
in .bashrc
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".
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.
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.
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
).
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.
Entfernen und erneut installieren funktionierte für mich.
Einzelheiten:
mvn
-Skripts im Debug ( bash -x mvn
) hat gezeigt, dass die fehlende JAR-Datei explizit angefordert wurde. 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.
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
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".
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.
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.