web-dev-qa-db-fra.com

commande mvn introuvable dans OSX Maverick

Avant de marquer cela comme un doublon, j’ai parcouru ces articles, mais rien n’a aidé. 'mvn' n'est pas reconnu comme une commande interne ou externe,Obtention de -bash: mvn: commande introuvable , Impossible d'accéder à la commande mvn à partir de la ligne de commande?

Certains sont spécifiques aux fenêtres et n'ont pas aidé. Quelques-uns d’entre eux sur Mac OS X ont fait des suggestions, que j’ai essayées mais n’a pas aidé.

Ce que j’ai essayé (c’est exactement ce que suggère Maven):

Extrayez l’archive de la distribution, c’est-à-dire Apache-maven-3.1.1-bin.tar.gz, dans le répertoire dans lequel vous souhaitez installer Maven 3.1.1. Ces instructions supposent que vous avez choisi/usr/local/Apache-maven. Le sous-répertoire Apache-maven-3.1.1 sera créé à partir de l'archive. Dans un terminal de commande, ajoutez la variable d'environnement M2_HOME, par exemple. export M2_HOME =/usr/local/Apache-maven/Apache-maven-3.1.1. Ajoutez la variable d’environnement M2, par exemple export M2 = $ M2_HOME/bin. Facultatif: Ajoutez la variable d'environnement MAVEN_OPTS pour spécifier les propriétés de la machine virtuelle, par exemple. exportation MAVEN_OPTS = "- Xms256m -Xmx512m". Cette variable d'environnement peut être utilisée pour fournir des options supplémentaires à Maven. Ajoutez une variable d’environnement M2 à votre chemin, par exemple. export PATH = $ M2: $ PATH. Assurez-vous que Java_HOME est défini sur l'emplacement de votre JDK, par exemple. export Java_HOME =/usr/Java/jdk1.5.0_02 et que $ Java_HOME/bin figure dans votre variable d’environnement PATH. Exécutez mvn --version pour vérifier qu'il est correctement installé.

Je vois que sur la terminal que j'ai utilisée pour l'installation, cela fonctionne bien. Je n'ai pas ce problème. mais quand j'ai essayé une nouvelle terminal, j'obtiens command not found.

J'ai également ajouté export PATH=$M2 à mon .bashrc, j'ai source puis redémarré le terminal, mais cela n'a pas aidé.

quelqu'un peut-il suggérer comment le rendre disponible dans toutes les sessions du terminal?

Merci

24
eagertoLearn

Essayez de les suivre si cela peut vous aider:

Puisque votre installation fonctionne sur le terminal que vous avez installé, tous les exports que vous avez fait fonctionnent sur le current bash and its child process. mais n'est pas engendré à new terminals.

Les variables env sont perdues si la session est fermée; En utilisant .bash_profile, vous pouvez le rendre disponible dans toutes les sessions car, lorsqu'une session bash démarre, elle "exécute" son .bashrc and .bash_profile

Suivez maintenant ces étapes et voyez si cela vous aide:

  1. tapez env | grep M2_HOME sur le terminal qui fonctionne. Cela devrait donner quelque chose comme

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

  2. taper env | grep Java_HOME devrait donner comme ceci:

    Java_HOME =/Bibliothèque/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Sommaire/Accueil

Maintenant vous avez le PATH pour M2_HOME et Java_HOME.

Si vous ne faites que ls /usr/local/Apache-maven/Apache-maven-3.1.1/bin, vous verrez mvn binaire ici .. Tout ce que vous avez à faire maintenant, c’est de pointer sur cet emplacement à chaque fois en utilisant PATH. puisque bash cherche dans tout le chemin du répertoire mentionné dans PATH, il trouvera mvn.

  1. maintenant ouvert .bash_profile, si vous n'en avez pas, créez-en un

    vi ~/.bash_profile

Ajouter ce qui suit:

#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. sauvegardez le fichier et tapez source ~/.bash_profile. Cette étape exécute les commandes dans le fichier .bash_profile et vous pouvez maintenant partir.

  2. ouvrez un nouveau terminal et tapez mvn qui devrait fonctionner.

47
brain storm

Voici ce qui a fonctionné pour moi. 

Tout d'abord, j'ai vérifié si la variable M2_HOME est définie par env | grep M2_HOME. J'ai rien .

Je savais que Maven avait été installé dans le dossier "/usr/local/Apache-maven-3.2.2". L'exécution des 3 étapes suivantes a donc résolu le problème:

  1. Définir la variable d'environnement M2_HOME

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

  1. Définir la variable env M2

M2=$M2_HOME/bin

  1. Mettre à jour le chemin

export PATH=$M2:$PATH

Comme mentionné ci-dessus, vous pouvez enregistrer cette séquence dans le fichier .bash_profile si vous souhaitez qu'elle soit exécutée automatiquement.

8
Oleg K

Je l'ai fait sur macOS Sierra version 10.12.6. Les solutions ci-dessus sont bonnes mais nécessitent ~/.bash_profile. /usr/local/bin est déjà dans le $ PATH et il peut être confirmé en faisant echo $PATH. Téléchargez maven et exécutez les commandes suivantes -

$ 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

Note: La version d’Apache Maven serait celle que vous téléchargeriez.

4
limitlessriver

étapes pour installer maven:

  1. téléchargez le fichier maven de http://maven.Apache.org/download.cgi
  2. $ tar xvf Apache-maven-3.5.4-bin.tar.gz
  3. copier le dossier Apache à l'emplacement souhaité $ cp -R Apache-maven-3.5.4/Users/locals
  4. allez dans le répertoire Apache $ cd /Users/locals/Apache-maven-3.5.4/ 
  5. créer. profil_bash $ vim ~ /. profil_bash
  6. écrivez ces deux commandes: export M2_HOME =/Users/manisha/Apache-maven-3.5.4 export PATH = $ PATH: $ M2_HOME/bin 7 enregistrez et quittez vim : wq!
  7. redémarrez le terminal et tapez mvn -version
0
Manisha Malik