2013-07-02 13 views
8

Vielleicht ist die Frage schon einmal gestellt, aber ich habe eine sehr seltsame Art von Fehler gefunden. Wenn ich mvn --version Befehl ist ausgeführt gibt sein die Version und die anderen Informationen. Wenn ich jedoch außerhalb des Mülleimers renne, gibt es eine Ausnahme. Sowohl das Resultat Erwähnung unter'mvn' wird nicht als interner oder externer Befehl, ausführbares Programm oder Batch-Datei erkannt.

C:\Program Files\apache-maven-3.0.5-bin\apache-maven-3.0.5\bin>mvn --version 
Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 19:21: 
28+0530) 
Maven home: C:\Program Files\apache-maven-3.0.5-bin\apache-maven-3.0.5 
Java version: 1.7.0_25, vendor: Oracle Corporation 
Java home: C:\Program Files\Java\jdk1.7.0_25\jre 
Default locale: en_US, platform encoding: Cp1252 
OS name: "windows 7", version: "6.1", arch: "amd64", family: "windows" 

C:\Program Files\apache-maven-3.0.5-bin\apache-maven-3.0.5>mvn --version 
'mvn' is not recognized as an internal or external command, 
operable program or batch file. 

Auch gesetzt i JAVA_HOME in Benutzervariablen und M2_HOME, M2 in Systemumgebungsvariable Ausgang

ist
C:\Users\SAHILBHALLA>echo %JAVA_HOME% 
C:\Program Files\Java\jdk1.7.0_25 

C:\Users\SAHILBHALLA>echo %M2% 
C:\Program Files\apache-maven-3.0.5-bin\apache-maven-3.0.5\bin 

C:\Users\SAHILBHALLA>echo %M2_HOME% 
C:\Program Files\apache-maven-3.0.5-bin\apache-maven-3.0.5 

Sag mir, wo ich falsch bin. Was soll ich davon erholen?

+1

Haben Sie diese Umgebungsvariablen in PATH platziert? –

+0

ist der Speicherort von mvn.exe in% PATH%? z.B. Dein zweiter mvn-Aufruf passiert tatsächlich ein UP-Verzeichnis, von wo du das erste gemacht hast, also vermute ich, dass es nicht im Pfad ist. versuchen Sie stattdessen 'bin \ mvn' als Befehl. –

+0

C: \ Benutzer \ SAHILBHALLA> echo% path% gibt C: \ Programme (x86) \ Intel \ iCLS-Client \; C: \ Programme \ Intel \ iCLS-Client \; C: \ Windows \ system32; C: \ Windows; C: \ Windows \ System32 \ Wbem; C: \ Windows \ System32 \ WindowsPow erShell \ v1.0 \; C: \ Programme \ Java \ jdk1.7.0_25 \ bin;.; – rahul

Antwort

12

Mein Problem gelöst, path nicht %M2% behoben werden konnte. Wenn ich den Speicherort von Maven-bin im Pfad anstelle von %M2% hinzugefügt habe, funktionieren die Befehle.

ich zu Dank alle, die möchte, die versuchen, das Problem

+0

das gleiche passiert mir und ich musste auch meinen PC neu starten, weil irgendwie, als ich '% PATH%%' verwendet habe Ich sah den alten Weg, ich weiß nicht warum. – Reem

2

Platzieren Sie den vollständigen Pfad zu mvn in Ihrer Umgebungsvariablen PATH.

6

maven sollte auf dem PATH des Systems stehen, wenn Sie es von einem beliebigen Ort ausführen möchten. füge% M2_HOME% \ bin dem PFAD hinzu

+0

wie ich erwähne früher M2_HoME und M2 in der Systemumgebungsvariable – rahul

+0

richtig gesetzt ... weshalb Sie @radai% M2_HOME%/bin zu% PATH% hinzufügen müssen. Vertrau mir, das wird funktionieren. – thekbb

+0

@thekbb - Immer wenn Sie den Namen einer ausführbaren Datei oder einer Shell-Datei eingeben, sucht das Betriebssystem im aktuellen Verzeichnis nach ihr. Wenn es dort nicht gefunden wird, wird es über alle Verzeichnisse geführt, die darin erwähnt werden %PFAD%. Wenn Sie möchten, dass mvn zugänglich ist, dann% M2_HOME% \ bin_HAS_, um auf dem Pfad zu sein.die Tatsache, dass% M2_HOME% existiert, ist nicht genug (obwohl das auch benötigt wird) – radai

0

Ich bevorzuge den Pfad zu ~/.bashrc.

vim ~/.bashrc, dann fügen Sie die folgenden Zeilen:

export M2_HOME=/usr/local/apache-maven-your_maven_path&version 
export M2=$M2_HOME/bin 
+3

Ich bin sicher, die meisten von wir würden es vorziehen, zu .bashrc hinzuzufügen, aber er ist eindeutig auf Windows, so ist es unwahrscheinlich, dass er Bash hat. – thekbb

+0

Sorry hat nicht auf das Betriebssystem geachtet: P –

5

In Windows 7, ich habe es nach dem Hinzufügen der Umgebungsvariablen in der Systemebene gelöst Got zu lösen. Wenn Sie nicht über ausreichende Berechtigungen verfügen, versuchen Sie, %JAVA_HOME% und %M2_HOME% in Systemvariablen anstelle von Benutzervariablen festzulegen.

0

Nachdem Sie den Pfad mit der Maven Bin-Position festgelegt haben, schließen Sie das Eingabeaufforderungsfenster und starten Sie es neu. Verwenden Sie den Befehl echo %path%, um sicherzustellen, dass der Pfad mit Maven-Variablen festgelegt ist, und führen Sie dann den Befehl mvn -version aus. Irgendwie, wenn der Pfad festgelegt wird, wenn das Eingabeaufforderungsfenster ausgeführt wird, wählt es die neuen Variablen nicht aus.

+0

Vielen Dank für Ihre Antwort zu StackOverflow. Um Ihre Antwort leichter lesbar zu machen, können Sie Befehle, die in einer Monospace-Schriftart formatiert werden sollen, zwischen solche "Häkchen" setzen. Ich habe deine Antwort aktualisiert, um das zu reflektieren. – SDJMcHattie

0

Here ist die beste Maven-Umgebung Setup-Tutorial für Windows, Unix und Mac-Betriebssysteme.

Aber im letzten müssen Sie Wert von PATH Variable als ";%M2_HOME%\bin" statt "%M2%" gesetzt, weil PATH Variable nicht in der Lage ist, den Wert mit „% M2%“

0

wurde es, indem man zuerst die Schaffung neuer "gelöst zu reduzieren Pfadvariable unter Benutzervariablen (Beachten Sie, dass nach der Installation von neuen Fenstern die Pfadvariable nicht als Benutzervariable erstellt wird, sondern nur als System) danach habe ich% M2% (zeigt auf maven dir/bin) an (neu erstellt) angehängt Benutzer Pfadvariable. nach dem Neustart cmd-Fenster und es funktionierte wie ein Zauber.

4

Zuerst stellen Sie sicher, dass Sie Java funktioniert oder nicht führen Sie diesen Befehl in cmd

C:\>java -version 

wenn es funktioniert es wird diese Ausgabe zeigen: -

C:\>java -version 
java version "1.8.0_74" 
Java(TM) SE Runtime Environment (build 1.8.0_74-b02) 
Java HotSpot(TM) Client VM (build 25.74-b02, mixed mode) 

Schritt 1. Zuerst legen Sie Ihren Java-Ausgangsverzeichnis [C: \ Programme \ Java \ jdk1.8.0_74] in Benutzervariable fest.

Schritt 2. Dann setzen MAVEN_HOME [C: \ Programme \ Maven \ Apache-Maven-3.3.9] Pfad in der Systemvariablen und stellen Sie sicher, dass Ihre Maven Ordner nur in C-Ordner vorhanden sein sollte.

Schritt 3. Setzen Sie dann den M2-Pfad in der Systemvariablen und geben Sie maven bin location an, d. H. [C: \ Programme \ maven \ apache-maven-3.3.9 \ bin].

Schritt 4. Dann setzen neue Systemvariable dh Variablennamen = MAVEN_OPTS in und Variablenwert = -Xms256m -Xmx512m

Schritt 5. Dann bearbeiten Pfad/Pfad-Systemvariablen Pflege sein full nichts von dort entfernen einfach java_home Pfad ie =; C: \ Programme \ Java \ jdk1.8.0_74 und M2 Variable =;% M2% am Ende hinzufügen.

Schritt 6. Um sicherzustellen, dass Maven nun funktioniert oder nicht diesen Befehl cmd laufen

> C:\>mvn --version 

, ob es funktioniert wird es dieses Ergebnis zeigen: -

Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015- 
7+05:30) 
Maven home: C:\Program Files\maven\apache-maven-3.3.9\bin\.. 
Java version: 1.8.0_74, vendor: Oracle Corporation 
Java home: C:\Program Files\Java\jdk1.8.0_74\jre 
Default locale: en_IN, platform encoding: Cp1252 
OS name: "windows 7", version: "6.1", arch: "x86", family: "dos" 
0

In Windows 10 Ich musste die Windows-Eingabeaufforderung (cmd) als Administrator ausführen. Doing löste dieses Problem für mich.

Verwandte Themen