web-dev-qa-db-fra.com

La maison Maven (M2_HOME) n'est pas prise en charge par IntelliJ IDEA

J'essaie de faire une construction maven simple avec IntelliJ IDEA 10.5.1 sur OS X Lion et j'obtiens l'erreur suivante:

Erreur lors de l'exécution de my-app [package]: aucune installation Maven valide n'a été trouvée. Définissez le répertoire de base dans la boîte de dialogue de configuration ou définissez la variable d'environnement M2_HOME sur votre système.

J'ai défini M2_HOME sur les éléments suivants, mais j'ai toujours des problèmes. Et oui, j'ai redémarré IntelliJ.

$ echo $M2_HOME
/usr/share/maven

J'ai ensuite entré manuellement le chemin d'accès à maven dans les paramètres Maven d'IntelliJ pour le projet. Ce n'est pas quelque chose que je veux faire pour chaque projet, alors y a-t-il quelque chose qui me manque pour savoir à IntelliJ où se trouve ma maison Maven?

40
Travis Nelson

Les applications Mac OS ne peuvent pas lire les variables d'environnement bash. Regardez cette question Définition des variables d'environnement sous OS X? pour exposer M2_HOME à toutes les applications, y compris IntelliJ. Vous devez redémarrer après cela.

28
Amir Raminfar

tapez dans le terminal:

$ mvn --version

puis obtenez le résultat suivant:

Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 16:51:28+0300)
Maven home: /opt/local/share/Java/maven3
Java version: 1.6.0_65, vendor: Apple Inc.
Java home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Default locale: ru_RU, platform encoding: MacCyrillic
OS name: "mac os x", version: "10.9.4", Arch: "x86_64", family: "mac"

ici, en deuxième ligne, nous avons:

Maven home: /opt/local/share/Java/maven3

saisissez ce chemin dans le champ de la boîte de dialogue de configuration. C'est tout pour arranger!

21
flutesa

Une autre option consiste à ajouter la variable M2_HOME à: IntelliJ IDEA=>Preferences=>IDE Settings=>Path Variables

Après un redémarrage d'IntelliJ, IntelliJ IDEA=>Preferences=>Project Settings=>Maven=>Maven home directory doit être défini sur votre variable M2_HOME.

11
MikeV

Vous avez cette réponse? les réponses ci-dessus sont probablement trop longues ...

il suffit de taper:

echo "setenv M2_HOME $M2_HOME" | Sudo tee -a /etc/launchd.conf

et redémarrez votre mac (c'est tout!)

redémarrer est ennuyeux? utilisez simplement la commande:

grep -E "^setenv" /etc/launchd.conf | xargs -t -L 1 launchctl

et redémarrez IntelliJ IDEA

8
Nimrod007

Si M2_HOME est configuré pour pointer vers le répertoire personnel de Maven puis:

  1. Aller à File -> Settings
  2. Rechercher Maven
  3. Sélectionnez Runner
  4. Insérez dans le champ VM Options la chaîne suivante:

    Dmaven.multiModuleProjectDirectory=$M2_HOME
    

Cliquez sur Apply et OK

7
user5202836

Si vous rencontrez ce problème avec une installation homebrew de maven 3 sur OSX 10.9.4, consultez ceci article de blog .

3
craastad

Dans le cas où vous ne souhaitez pas utiliser le M2_HOME et souhaitez diriger l'IntelliJ vers l'installation de maven, vous pouvez simplement le configurer en:

  • goto File => Setting => Maven => Maven home directory
  • pointez sur votre répertoire de construction maven, par exemple /usr/local/maven/Apache-maven-3.0.4

Une meilleure façon est d'avoir un lien symbolique par exemple 'latest' pour la dernière version et pointez votre IntelliJ pour l'utiliser pour la cohérence, étant donné les derniers points de la dernière version de maven installée sur votre box.

2
Ali