it-swarm.com.de

Maven M2_HOME auf ein ungültiges Verzeichnis gesetzt (Windows 7)

Ich habe versucht, Maven mit schlechten Ergebnissen auf Windows 7 zu installieren. Einige grundlegende Informationen:

Maven-Installationsverzeichnis: C:\Program Files\Apache Software Foundation\Apache-maven-3.0.4 Systemvariable "M2_HOME": C:\Program Files\Apache Software Foundation\Apache-maven-3.0.4\ Systemvariable "Path": %M2_HOME%Apache-maven\src\bin;%Java_HOME%\bin

Wenn ich mvn --version im Befehlspfad ausführte, erhalte ich die Fehlermeldung:

Stellen Sie die Variable M2_HOME in Ihrer Umgebung so ein, dass sie dem Speicherort der Maven-Installation entspricht

Im Moment ist das Unterverzeichnis für mvn nicht gemäß den Anweisungen festgelegt, was %M2_HOME%\bin wäre. Wenn ich %M2_HOME%Apache-maven\src\bin durch diesen ersetze, bekomme ich:

mvn wird nicht als interner oder externer Befehl, als bedienbares Programm oder als Batch-Datei erkannt

Im Maven-Installationsverzeichnis (oder in der Zip-Datei) gibt es keinen \bin-Ordner direkt in Apache-maven-3.0.4 und ich frage mich, ob es einen geben sollte?

Ich bin ein absoluter Neuling für Maven, hoffentlich könnt ihr Jungs helfen.

Übrigens funktioniert der Java-Befehl von jedem Verzeichnis aus. Ich denke nicht, dass es hier um das Problem geht, aber ich bin mir nicht sicher.

16
MikkoP

Wenn Ihr heruntergeladenes Paket Apache-maven-3.3.9 keinen Ordner enthält, ist der Download falsch. Sie müssen eine ZIP-Datei herunterladen, die den Ordner bin, boot, conf, lib enthält. Andernfalls ist ein Fehler aufgetreten. Die heruntergeladene Datei sollte etwa 4,8 MB groß sein. Sie können die Datei über MD5 oder SHA1-Prüfsummen prüfen.

18
khmarbaise

In M2_HOME - set C:\Apache-maven-3.0.4 d. H. Pfad ohne bin. In PATH - set %M2_HOME%\bin d. H. Mit bin im Pfad.

37
Achraj

In 3.3.1 verschwanden * .bat-Dateien und es blieben nur * .cmd-Dateien. .CMDs sind die gleichen wie .BAT und einige Software erwartet sie. Ich habe .CMDs in .BATs umbenannt, damit es unter Netbeans läuft. "Maven M2_HOME wurde auf ein ungültiges Verzeichnis gesetzt". Das Kopieren von .BATs auf .CMDs (d. H. Beide befanden sich im Ordner) lösten das Problem.

18
TomS

In meinem Fall war das Setup richtig:

Windows-Systemvariablen:

  • M2 C:\dev\software\Apache-maven-3.3.9\bin
  • M2_HOME C:\dev\software\Apache-maven-3.3.9

Windows-Benutzervariablen:

  • % M2_HOME%\bin 

Ich hatte jedoch das gleiche Problem, als zwei von maven installiert wurde, obwohl alle Referenzen auf die neueste Version verweisen, die in meinem Fall 3.3.9 war. Nach Löschen der älteren-Version hat derselbe Befehl maven erkannt.

VOR:

maven -v
ERROR: M2_HOME is set to an invalid directory.
M2_HOME = "C:\dev\software\Apache-maven-3.3.9"
Please set the M2_HOME variable in your environment to match the
location of the Maven installation

NACH DEM:

maven -v
Apache Maven 3.3.9
Maven home: C:\dev\software\Apache-maven-3.3.9
Java version: 1.7.0_51, vendor: Oracle Corporation
Java home: C:\Program Files\Java\jdk1.7.0_51\jre
11
Ithar

Sie müssen die Maven-Datei mit dem Namen "Binary Zip" herunterladen. Zum Beispiel: http://mirrors.digipower.vn/Apache/maven/maven-3/3.1.1/binaries/Apache-maven-3.1.1-bin.Zip

5
Tai Nguyen

Ich habe das gleiche Problem auf meinem Computer und habe es gelöst:

  • Ich habe das Maven-Verzeichnis und die Maven-Umgebungsvariablen gelöscht
  • Ich habe das binäre Zip-Archiv unter https://maven.Apache.org/download.cgi heruntergeladen.
  • Ich habe es auf C:\maven entpackt
  • Ich habe eine neue Umgebungsvariable hinzugefügt: C:\maven in M2_HOME, %M2_HOME%\lib in M2 und %M2% hinzugefügt in PATH

Und es funktioniert !

2
romainb78

Befreien Sie sich von der Env-Variablen M2_HOME. Es wird nicht von Maven 3 verwendet und verwirrt es tatsächlich. Wenn Sie es in Ihrem Pfad verwendet haben, definieren Sie entweder den Pfad für den Maven bin explizit oder ändern Sie ihn in etwas anderes - beispielsweise M3_HOME.

1
rhinmass

Für mich hatte die PATH-Variable eine alte Version von Maven. Also habe ich es aktualisiert. Ich sollte% M2_HOME% verwenden, aber ich hatte den Pfad angegeben.

1
user6078975

Gerade jetzt war ich mit dem gleichen Problem konfrontiert ... In meinem Fall bestand das Problem darin, dass PATH nicht richtig festgelegt wurde, um %M2_HOME%\bin..__ zu enthalten.

Wenn Sie mit solchen Problemen konfrontiert werden, drucken Sie bitte den Wert von PATH in der Befehlszeile aus, um sicherzustellen, dass die Werte richtig übernommen werden. 

1
sonikan

Fügen Sie der Umgebungsvariable "PATH" den gesamten Speicherplatz für "bin" hinzu

Keine Notwendigkeit von M2_HOME, M2. Es hat für mich funktioniert

Microsoft Windows [Version 10.0.14393] (C) 2016 Microsoft Corporation. Alle Rechte vorbehalten.

C:\Users\XXXX> mvn -version Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T22: 11: 47 + 05: 30) Maven-Startseite: C:\Programme\Apache-Software Foundation\Apache-maven-3.3.9\bin .. Java-Version: 1.8.0_91, Anbieter: Oracle Corporation Java-Startseite: C:\Programme\Java\jdk1.8.0_91\jre Standardgebietsschema: en_US, Plattformcodierung: Cp1252 Betriebssystemname: "Windows 10", Version: "10.0", Arch: "AMD64", Familie: "Dos"

setzen Sie 'M2_HOME' und 'PATH' in den Umgebungsvariablen für Ihr Konto. Entfernen Sie 'PATH' aus den Systemumgebungsvariablen.

0

Aller Erfolg nach den nächsten Schritten.

  1. Auf http://maven.Apache.org/download.cgi von 4 Varianten muss der Download binary heruntergeladen werden.

  2. Umgebungsvariable setzen (Tipp von @JamesB - https://stackoverflow.com/a/13093358/3941340 ):

Java_HOME = C:\Programme\Java\jdk1.6.0_35

MAVEN_HOME = D:\software\Apache-maven-3.0.4

PATH =% PATH%;% MAVEN_HOME%\bin;% Java_HOME%\bin

  1. Führen Sie mvn -version aus.
0
Kosmos

Überprüfen Sie die Systemvariablen M2_HOME und PATH an verschiedenen Speicherorten.

0
Ishara Samantha

Hatte eine alte Version von MVN in einem anderen Verzeichnis, das im Suchpfad angezeigt wurde. Die alte Version wurde entfernt und alles funktionierte. Windows-Dateisuche verwendet, um das Laufwerk nach allen Instanzen von "mvn" zu durchsuchen, um die alte Version zu finden.

0
mark

Schnelle Antwort
Aufgrund von Problemen bei der Verwendung von M2_HOME im Zusammenhang mit verschiedenen installierten Maven-Versionen und zur Vereinfachung wurde die Verwendung von M2_HOME entfernt und wird nicht mehr unterstützt. Eine weitere wichtige Änderung für Windows-Benutzer: Die Verwendung von% HOME% wurde durch% USERPROFILE% ersetzt.

Detailliertere Antwort
Was Sie beobachtet haben, war schon immer ein Problem mit Maven. Wenn Sie zwei verschiedene Versionen in demselben Verzeichnis installieren, wird die ältere Version erkannt, die neuere jedoch nicht.
Nachdem Maven 3.3.9 veröffentlicht wurde, wurde das Eclipse Aether-Projekt eingestellt und die Codebasis wurde auf das Apache Maven-Projekt migriert. Das ursprüngliche Ziel für die Version 3.4.0 war es, Aether nach der Migration zum Apache Maven-Projekt durch genau denselben Code zu ersetzen und anschließend mit Fehlerbehebungen für den Resolver-Code sowie für andere Bereiche von Maven fortzufahren. Dies geschah nie ganz wie beabsichtigt und es wurde beschlossen, die Release-Version 3.4.x für immer zu brennen. Die Umstellung auf 3.5 brachte diese Änderungen mit sich

0
mainas

Möglicherweise gibt es eine andere Version der Maven-Installation an einem parallelen Speicherort .. In diesem Fall entfernen Sie die unerwünschte Version und setzen Sie den entsprechenden Pfad gegen M2_HOME zurück.

0