it-swarm.com.de

der Befehl mvn wurde in OSX Maverick nicht gefunden

Bevor ich das als Duplikat markierte, habe ich diese Posts durchgegangen, aber nichts half dabei . 'mvn' wird nicht als interner oder externer Befehl erkannt.Getting -bash: mvn: Befehl nicht gefunden , Kann nicht über die Befehlszeile auf den Befehl mvn zugreifen?

Einige sind spezifisch für Windows und haben nicht geholfen. Ein paar von ihnen haben auf Mac OS X Vorschläge gemacht, die ich ausprobiert habe, aber nicht geholfen habe.

Was ich ausprobiert habe (genau das schlägt Maven vor):

Extrahieren Sie das Distributionsarchiv, d. H. Apache-maven-3.1.1-bin.tar.gz in das Verzeichnis, in dem Sie Maven installieren möchten 3.1.1. Diese Anweisungen Angenommen, Sie haben/usr/local/Apache-maven gewählt. Das Unterverzeichnis Apache-maven-3.1.1 wird aus dem Archiv erstellt. In einem Befehl Terminal hinzufügen, fügen Sie die Umgebungsvariable M2_HOME hinzu, z. Export M2_HOME =/usr/local/Apache-Maven/Apache-Maven-3.1.1. Fügen Sie die M2 .__ hinzu. Umgebungsvariable, z. export M2 = $ M2_HOME/bin. Optional: Fügen Sie die .__ hinzu. MAVEN_OPTS-Umgebungsvariable zur Angabe von JVM-Eigenschaften, z. Export MAVEN_OPTS = "- Xms256m -Xmx512m". Diese Umgebungsvariable kann verwendet werden um zusätzliche Optionen für Maven bereitzustellen. Fügen Sie Ihrer .__ M2-Umgebungsvariable hinzu. Pfad, z.B. export PATH = $ M2: $ PATH. Stellen Sie sicher, dass Java_HOME auf .__ eingestellt ist. der Ort Ihres JDK, z. Exportieren Sie Java_HOME =/usr/Java/jdk1.5.0_02 und $ Java_HOME/bin befindet sich in der Umgebungsvariable PATH. Führen Sie mvn .__ aus. --version um zu überprüfen, ob es korrekt installiert ist.

Ich sehe, dass auf der terminal, die ich für die Installation verwendet habe, es gut funktioniert. Ich habe dieses Problem nicht. aber wenn ich eine neue terminal probiert habe, bekomme ich command not found.

Ich habe auch export PATH=$M2 zu meinem .bashrc hinzugefügt, ich habe source und dann das Terminal neu gestartet, trotzdem hat es nicht geholfen.

kann jemand vorschlagen, wie es in allen Sitzungen des Terminals verfügbar gemacht werden kann?

Vielen Dank

24
eagertoLearn

Versuchen Sie Folgendes, wenn diese helfen könnten:

Da Ihre Installation auf dem Terminal funktioniert, das Sie installiert haben, arbeiten alle exports, die Sie durchgeführt haben, mit dem current bash and its child process. wird aber nicht zu neuer terminals erzeugt.

env-Variablen gehen verloren, wenn die Sitzung geschlossen wird. Mit .bash_profile können Sie es in allen Sitzungen verfügbar machen, da beim Start einer bash-Sitzung der .bashrc and .bash_profile ausgeführt wird.

Folgen Sie nun diesen Schritten und sehen Sie, ob es hilft:

  1. geben Sie env | grep M2_HOME an dem funktionierenden Terminal ein. Das sollte so etwas geben

    M2_HOME =/usr/local/Apache-Maven/Apache-Maven-3.1.1

  2. die Eingabe von env | grep Java_HOME sollte folgendermaßen aussehen:

    Java_HOME =/Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Inhalt/Start

Jetzt haben Sie den PFAD für M2_HOME und Java_HOME.

Wenn Sie nur ls /usr/local/Apache-maven/Apache-maven-3.1.1/bin tun, sehen Sie dort mvn binary . Alles, was Sie jetzt tun müssen, ist, mit PATH immer auf diesen Ort zu zeigen. Da bash in allen in PATH genannten Verzeichnispfaden sucht, wird mvn gefunden.

  1. jetzt .bash_profile öffnen, falls Sie noch keinen haben, erstellen Sie einfach einen

    vi ~/.bash_profile

Fügen Sie folgendes hinzu:

#set Java_HOME
Java_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home
export Java_HOME


M2_HOME=/usr/local/Apache-maven/Apache-maven-3.1.1
export M2_HOME

PATH=$PATH:$Java_HOME/bin:$M2_HOME/bin
export PATH
  1. speichern Sie die Datei und geben Sie source ~/.bash_profile ein. Bei diesem Schritt werden die Befehle in der .bash_profile-Datei ausgeführt, und Sie können jetzt fortfahren.

  2. Öffnen Sie ein neues Terminal und geben Sie mvn ein, das funktionieren sollte.

47
brain storm

Hier ist was für mich gearbeitet hat. 

Zuerst habe ich überprüft, ob die Variable M2_HOME env | grep M2_HOME gesetzt ist. Ich habe nichts.

Ich wusste, dass ich Maven im Ordner "/usr/local/Apache-maven-3.2.2" installiert hatte. Daher löste das Ausführen der folgenden 3 Schritte das Problem für mich:

  1. Legen Sie die M2_HOME-Umgebungsvariable fest

M2_HOME=/usr/local/Apache-maven-3.2.2

  1. Setzen Sie die M2-Umgebungsvariable

M2=$M2_HOME/bin

  1. Aktualisieren Sie den PFAD

export PATH=$M2:$PATH

Wie oben erwähnt, können Sie diese Sequenz in der .bash_profile-Datei speichern, wenn Sie möchten, dass sie automatisch ausgeführt wird.

8
Oleg K

Ich habe dies am macOS Sierra Version 10.12.6 gemacht. Die obigen Lösungen sind gut, aber sie benötigen ~/.bash_profile. /usr/local/bin befindet sich bereits in $ PATH und kann mit echo $PATH bestätigt werden. Laden Sie maven herunter und führen Sie die folgenden Befehle aus -

$ cd ~/Downloads
$ tar xvf Apache-maven-3.5.3-bin.tar.gz
$ mv Apache-maven-3.5.3 /usr/loca/
$ cd /usr/local/bin
$ Sudo ln -s ../Apache-maven-3.5.3/bin/mvn mvn
$ mvn -version
$ which mvn

Hinweis: Die Version von Apache maven würde diejenige sein, die Sie herunterladen werden.

4
limitlessriver

schritte zum Installieren von Maven:

  1. laden Sie die Maven-Datei von http://maven.Apache.org/download.cgi herunter.
  2. $ tar xvf Apache-maven-3.5.4-bin.tar.gz
  3. kopiere den Apache-Ordner an den gewünschten Ort $ cp -R Apache-maven-3.5.4/Benutzer/Einheimische
  4. gehe zum Apache-Verzeichnis $ cd /Users/locals/Apache-maven-3.5.4/ 
  5. .bash_profile $ vim ~/.bash_profile erstellen
  6. schreibe diese beiden Befehle: export M2_HOME =/Benutzer/manisha/Apache-maven-3.5.4 export PATH = $ PATH: $ M2_HOME/bin 7 Speichern und beenden Sie die vim : wq!
  7. starten Sie das Terminal neu und geben Sie mvn -version ein.
0
Manisha Malik

Ich befolgte die Anweisungen von Brain Storm und bekam immer noch keine unterschiedlichen Ergebnisse - neue Terminalfenster würden den Befehl mvn nicht erkennen. Ich weiß nicht warum, aber das Aufbrechen der Deklarationen in kleinere Teile .bash_profile hat funktioniert. Soweit ich das beurteilen kann, mache ich im Grunde das Gleiche wie er. Folgendes sieht in meinem .bash_profile anders aus:

Java_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home
export PATH Java_HOME
J2=$Java_HOME/bin
export PATH J2
M2_HOME=/usr/local/Apache-maven/Apache-maven-2.2.1
export PATH M2_HOME
M2=$M2_HOME/bin
export PATH M2
0
jareto