Команда mvn не найдена в OSX Mavrerick
Прежде чем отметить это как дубликат, я просмотрел эти сообщения, но ничего не помогло.
'mvn' не распознается как внутренняя или внешняя команда, Получение - bash: mvn: команда не найдена, Не удается получить доступ к команде mvn из командной строки?
Некоторые из них относятся к окнам и не помогают. Несколько из них на Mac OS X дали предложения, которые я пробовал, но не помогли.
Что я пробовал (это именно то, что предлагает Maven
):
Извлеките архив распространения, то есть apache-maven-3.1.1-bin.tar.gz в каталог, который вы хотите установить Maven 3.1.1. Эти инструкции Предположим, вы выбрали /usr/local/apache -maven. Подкаталог apache-maven-3.1.1 будет создан из архива. В команде терминал, добавьте переменную среды M2_HOME, например. экспорт M2_HOME =/USR/локальные/Apache-Maven/апаша-Maven-3.1.1. Добавьте M2 переменная среды, например. экспорт M2 = $M2_HOME/bin. Необязательно: добавьте MAVEN_OPTS, чтобы указать свойства JVM, например. экспорт MAVEN_OPTS = "- Xms256m -Xmx512m". Эта переменная среды может использоваться чтобы предоставить дополнительные опции для Maven. Добавьте переменную среды M2 в свою путь, например. export PATH = $M2: $PATH. Убедитесь, что для JAVA_HOME установлено значение местоположение вашего JDK, например. экспорт JAVA_HOME =/usr/java/jdk1.5.0_02 и что $JAVA_HOME/bin находится в переменной среды PATH. Запустить mvn --версия, чтобы убедиться, что она правильно установлена.
Я вижу, что на terminal
, который я использовал для установки, он отлично работает. У меня нет этой проблемы. но когда я попробовал новый terminal
, я получил command not found
.
Я также добавил export PATH=$M2
в мой .bashrc
, я сделал source
, а затем перезапустил терминал, но он не помог.
может кто-нибудь предложить, как сделать его доступным во всех сеансах терминала?
Спасибо
Ответы
Ответ 1
Попробуйте выполнить следующие действия, если они могут помочь:
Поскольку ваша установка работает на установленном терминале, все exports
, которые вы сделали, работают с current bash and its child process
. но не генерируется в новый terminals
.
env
переменные теряются, если сеанс закрыт; используя .bash_profile
, вы можете сделать его доступным во всех сеансах, поскольку, когда начинается сеанс bash
, он запускает его .bashrc and .bash_profile
Теперь выполните следующие действия и посмотрите, помогает ли это:
-
введите env | grep M2_HOME
на работающий терминал. Это должно дать что-то вроде
M2_HOME =/USR/локальные/Apache-Maven/апаша-Maven-3.1.1
-
введите env | grep JAVA_HOME
, как показано ниже:
JAVA_HOME =/Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Содержание/Главная
Теперь у вас есть PATH для M2_HOME
и JAVA_HOME
.
Если вы просто выполните ls /usr/local/apache-maven/apache-maven-3.1.1/bin
, вы увидите там двоичный файл mvn
.
Все, что вам нужно сделать, это указать на это место каждый раз, используя PATH. поскольку bash
выполняет поиск во всем пути к каталогу, указанном в PATH
, он найдет mvn
.
Добавьте следующее:
#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
-
сохраните файл и введите source ~/.bash_profile
. Эти шаги выполняют команды в файле .bash_profile
, и теперь вы можете продолжить.
-
откройте новый терминал и введите mvn
, который должен работать.
Ответ 2
Вот что сработало для меня.
Прежде всего, я проверил, установлена ли переменная M2_HOME env | grep M2_HOME
. У меня ничего.
Я знал, что у меня установлен Maven в папке "/usr/local/apache-maven-3.2.2", поэтому выполнение следующих трех шагов решило проблему для меня:
- Установить переменную M2_HOME env
M2_HOME=/usr/local/apache-maven-3.2.2
- Установить переменную env M2
M2=$M2_HOME/bin
- Обновить PATH
export PATH=$M2:$PATH
Как уже упоминалось выше, вы можете сохранить эту последовательность в файле .bash_profile
, если хотите, чтобы она выполнялась автоматически.