Установка Maven в Mac OS X

546

Я пытаюсь установить Maven через терминал, следуя этим инструкциям .

Пока я получил это

export M2_HOME=/user/apple/apache-maven-3.0.3
export M2=$M2_HOME/bin
export PATH=$M2:$PATH
export JAVA_HOME=/usr/java/jdk1.6.0_22

Это, наверное, глупый вопрос, где вы идете, чтобы найти это?

Эдгардо Ролдан
источник
Что это , что вы пытаетесь найти? С переменного окружением, как вы перечислили их , вы должны быть в состоянии для вызова mvnисполняемого файла из вашего окна терминала.
Шри Шанкаран
Если, как и в моем случае, вы пытаетесь перейти с Maven 3 обратно на Maven 2, посмотрите этот отличный блог: blog.frau-klein.org/2011/04/…
Джефф
2
Эдгардо: Я думаю, тебе следует снять
отметку

Ответы:

208

OS X до Mavericks (10.9) на самом деле поставляется со встроенным Maven 3.

Если вы используете OS X Lion, у вас не будет установлен Java по умолчанию. Просто запустите javaпрограмму, и она предложит вам установить ее.

Предполагая, что квалификация удовлетворена, запустите mvn -versionи посмотрите некоторые результаты, как это:

Apache Maven 3.0.3 (r1075438; 2011-02-28 12:31:09-0500)
Maven home: /usr/share/maven
Java version: 1.6.0_29, vendor: Apple Inc.
Java home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Default locale: en_US, platform encoding: MacRoman
OS name: "mac os x", version: "10.7.2", arch: "x86_64", family: "mac"
Майкл
источник
1
Если по какой-то причине вам нужен maven 2 on lion, вам нужно скачать его, установить свой M2_HOME, а затем вам нужно убедиться, что где бы вы ни установили, он был перед / usr / bin на вашем пути, или поменять / usr / bin / mvn для символической ссылки на ваш. Я знаю, что многие люди до сих пор работают над материалом с Maven 2, включая меня.
Майкл
3
Кстати, Mountain Lion поставляется с 3.0.3.
Майкл
389
Обновление, с OSX 10.9 Maverick, Maven больше не устанавливается по умолчанию.
Джерри Тян
14
@ Майкл Я установил Java на Maverick, но он не установил Maven для меня.
Swapnil
6
Yosemite не включает maven как часть установки, с Java или с инструментами командной строки xcode.
Майкл
1899

В качестве альтернативы я рекомендую установить Homebrew для таких утилит.

Затем вы просто устанавливаете Maven, используя:

brew install maven

PS: если вы получили ошибку 404, попробуйте сделать brew updateпрямо перед

brasskazoo
источник
164
В OS X 10.9 Mavericks, поскольку Maven не установлен (по крайней мере, в бета-версии), это правильный ответ.
Начо Л.
9
Это один ответ, но не только «правильный». Загрузка бинарного почтового индекса Maven с веб-сайта Maven выполняется быстрее и проще.
RCross
16
На OS X 10.9 вы должны использовать, brew install maven30так как Maven 3.1.1, кажется, глючит.
tadeuzagallo
18
brew install homebrew/versions/maven30сделал для меня. Спасибо @TadeuZagallo !!
fmquaglia
16
Больше не нужно использовать brew install maven30, поскольку самая последняя версия 3.2.1 довольно быстрая и, похоже, не содержит ошибок, которые были в 3.1.1.
Майкл Хогенсон
240

Отказ от ответственности : Вот полный ответ с учетом последней версии OS X (10.9 AKA Mavericks). Я знаю, что все, что я скомпилировал в этом ответе, уже присутствует на странице, но наличие его четко в одном ответе делает его намного понятнее.

Прежде всего, в предыдущих версиях OS X Maven устанавливается по умолчанию. Если Java не работает you@host:~ $ javaв терминале, вам будет предложено установить Java.

В Mac OS X 10.9 (Mavericks) Maven больше не устанавливается по умолчанию. Тогда возможны разные варианты:

  • Используя Homebrew :
    • you@host:~$ brew install maven установит последний Maven (3.5.2 от 01.02.2008)
    • you@host:~$ brew install maven30 установит Maven 3.0 при необходимости
  • Используя Macports : (я не проверял это)
    • you@host:~$ sudo port install maven установит последний Maven (?)
    • или:
    • you@host:~$ sudo port install maven3 установит Maven 3.0
    • you@host:~$ sudo port select --set maven maven3 выбирает эту версию Maven
  • Установка вручную:
    • Загрузите Maven со своей домашней страницы
    • Следуйте инструкциям по установке:
      1. Распакуйте архив дистрибутива, т.е. apache-maven-3.3.9-bin.tar.gzв каталог, в который вы хотите установить Maven 3.3.9. Подкаталог apache-maven-3.3.9будет создан из архива.
      2. Необязательно : Добавьте переменную среды MAVEN_OPTS, чтобы указать свойства JVM, например export MAVEN_OPTS="-Xms256m -Xmx512m". Эта переменная окружения может использоваться для предоставления дополнительных параметров Maven.
      3. Убедитесь , что JAVA_HOME установлен в месте вашего JDK, например , export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)и что $JAVA_HOME/binнаходится в вашей PATHпеременной окружения (хотя это не может быть необходимым с последними версиями Mac OS X и Oracle JDK).
      4. Добавить извлеченный apache-maven-3.3.9/binв ваш$PATH
      5. Запустите, mvn --versionчтобы убедиться, что он правильно установлен.
snooze92
источник
6
sudo port install maven3устанавливает Maven 3.0.5.
судить
3
При установке вручную, а не копаться, пытаясь найти JAVA_HOME, подумайте об использовании export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)(см. Этот ответ ). Кроме того (по крайней мере, для Mavericks и Yosemite с Oracle JDK 1.8) вам не нужно $JAVA_HOME/binуказывать путь, так как все символизировано /usr/bin.
Дэвид Моулз
Вы правы о лучшем способе определения JAVA_HOME! Я не знал о символических ссылках, но я отредактировал свой ответ, чтобы включить ваши замечания. Спасибо
snooze92
1
лучше , чтобы добавить exportинструкции , ~/.bash_profileчтобы сделать его доступным во всех сеансах см этот пост для деталей
Miranda
Лучше, чем что, @Miranda? Я не уточнил , где делать exportс в «установке вручную» вариант , потому что я считаю человек , выбирающих ручную установку лучше знать , где они хотят , чтобы сделать этот экспорт. Это довольно специфично для каждого человека и каждой системы, я чувствую.
snooze92
89

Когда я недавно обновился до OS X Mavericks и мои сборки maven начали давать сбой. Поэтому мне нужно было установить maven снова, так как он не встроен. Затем я попытался с помощью команды:

brew install maven 

это работает, но он устанавливает версию 3.1.1 maven, которая вызывает некоторые проблемы у нескольких пользователей, таких как ( https://cwiki.apache.org/confluence/display/MAVEN/AetherClassNotFound ). Так что, если вы столкнулись с той же проблемой, вы, вероятно, захотите установить более раннюю версию Maven, 3.0.5. Чтобы сделать это с Homebrew, вы должны выполнить следующую команду:

brew install https://raw.github.com/Homebrew/homebrew-versions/master/maven30.rb

Вот и все, тогда он будет использовать другие формулы Homebrew, которые вместо этого дадут вам maven 3.0.5.

Альесио Карвалью
источник
Сырой файл в настоящее время 503-й спорадически. Когда это сработало, я сохранил его в локальном файле.
NRitH
1
Пришлось вручную редактировать файл brew, чтобы избежать 404. 'brew edit maven'. Я жестко запрограммировал в одном из зеркал «url», а также мне пришлось изменить контрольную сумму «sha». url ' apache.mesi.com.ar/maven/maven-3/3.0.4/binaries/… ' sha1 'aecc0d3d67732939c0056d4a0d8510483ee1167e'
Дерек
Также убедитесь, что вы brew updateполучили последнюю brew install mavenверсию, если хотите, чтобы brew установил maven 3.1.1+.
Гэри С. Уивер
2
brew install maven30
тимомейнен
1
Я просто использовал brew install mavenи установил 3.0.5. Вот что печатает, когда я делаю mvn -version:mvn -version Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 05:51:28-0800) Maven home: /usr/local/Cellar/maven/3.0.5/libexec Java version: 1.7.0_45, vendor: Oracle Corporation Java home: /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/jre Default locale: en_US, platform encoding: UTF-8 OS name: "mac os x", version: "10.9.3", arch: "x86_64", family: "mac"
Azurespot
49

macOS Сьерра и далее

brew install maven

Saorikido
источник
3
Хотя этот фрагмент кода может решить вопрос, в том числе объяснение действительно помогает улучшить качество вашего сообщения. Помните, что вы отвечаете на вопрос читателей в будущем, и эти люди могут не знать причин, по которым вы предлагаете код. Также постарайтесь не переполнять ваш код пояснительными комментариями, это снижает удобочитаемость кода и пояснений!
kayess
1
Если вы получаете сообщение «команда brew not found», вам необходимо сначала установить brew. То есть ссылка на офф сайт brew.sh Это команда для установки/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
3
40

Если вы используете MacPorts на OS X 10.9 Mavericks, вы можете просто сделать:

sudo port install maven3
sudo port select --set maven maven3
Марк Смит
источник
38

Чтобы установить Maven на OS X, перейдите на веб-сайт Apache Maven и загрузите двоичный zip-файл.

Затем вы можете переместить папку apache-maven-3.0.5 в папке «Загрузки» туда, где вы хотите сохранить Maven; однако, поскольку остальная часть процесса включает в себя командную строку, я рекомендую вам сделать все оттуда.

В командной строке вы запустите что-то вроде:

mv ~/Downloads/apache-maven-3.0.5 ~/Development/

Это мое личное предпочтение - иметь каталог «Разработка» в моем домашнем каталоге. Вы можете выбрать что-то еще, если хотите.

Затем отредактируйте ~ / .profile в выбранном вами редакторе и добавьте следующее:

export M2_HOME="/Users/johndoe/Development/apache-maven-3.0.5"
export PATH=${PATH}:${M2_HOME}/bin

Первая строка важна для Maven (и должна содержать полный путь explcit); вторая строка важна для оболочки, чтобы запустить двоичный файл "mvn". Если у вас есть вариант этой второй строки, уже в .profile, просто добавьте $ {M2_HOME} / bin в конец.

Теперь откройте второе окно терминала и запустите

mvn -version

который должен дать вывод как ...

Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 13:51:28+0000)
Maven home: /Users/johndoe/Development/apache-maven-3.0.5
Java version: 1.7.0_40, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.9", arch: "x86_64", family: "mac"

Несколько вещей, чтобы отметить:

  1. Если вы установили Oracle JDK 1.7, вы можете найти отчеты Maven JDK 1.6 в приведенном выше выводе. Чтобы решить эту проблему, добавьте в ваш ~ / .profile следующее:

    экспорт JAVA_HOME = $ (/ usr / libexec / java_home)

  2. Как уже отмечалось, Maven исторически поставлялся либо с самой OS X, либо с дополнительными инструментами командной строки для XCode. Это может перестать иметь место в будущих версиях OS X, и фактически OS X Mavericks не включает Maven. Личное мнение: Это может быть потому, что они все еще находятся в бета-версии, или Apple может взглянуть на новейший радар технологии Thoughtworks и заметить, что Maven был переведен в режим «Hold».

RCross
источник
3
На следующий день после того, как Mavericks был выпущен, он больше не поставляется с Maven. Ваши инструкции здесь помогли.
Брайс Фишер
Я думаю, что точно следовал этим инструкциям, даже ~ / Development. Но у apache-maven-3.0.5 нет подкаталога "bin".
Гарип
Ой, я скачал исходный дистрибутив, а не мусорное ведро. Извините за шум.
Гарип
Что эквивалентно .profile или .bash_profile для MAC OS Sierra (10.12.4)? Я пытаюсь установить maven, и у меня нет домашней
страницы
@CrengutaS Это ~ / .profile, но файл не существует по умолчанию; Вы должны создать это. Объяснение причин отсутствия .bash_profile см. В первом ответе на apple.stackexchange.com/questions/119711/…
RCross
26

Простой подход к установке Maven.

  1. Открытый терминал

Finder -> Go -> Утилиты -> Терминал

  1. Установите Homebrew, используя следующую команду

ruby -e "$ (curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install )"

  1. После этого установите Maven

заварить установить Maven

Саурабх Падвекар
источник
25

Просто краткое дополнение; если вы хотите установить определенную версию на MacOS с помощью Homebrew 1.5.2, вы можете установить ее следующим образом:

  1. заваривать обновление
  2. Заваривать поиск Maven

Это даст вам maven версии, доступные на доморощенном

  1. brew install maven@3.3

[Если вы хотите установить Maven 3.3.]

zafar142003
источник
12

Эта команда brew install maven30не работает для меня. Жаловался на отсутствующую ФОРМУЛУ. Но следующая команда сработала. У меня установлен maven-3.0.5.

brew install homebrew/versions/maven30

Это для Mac OS X 10.9 или Mavericks.

edufinn
источник
1
Это лучший ответ для тех, у кого проблемы с очень глючным maven 3.1.1, который brew install mavenустанавливается сейчас.
Начо Л.
@ShajeelAfzal Вам необходимо установить Homebrew . Может быть сделано с помощью следующей команды:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
edufinn
brew install homebrew/versions/maven32работает для меня на Сьерра
Тоби
Теперь я бы рекомендовал установить последнюю версию Maven с brew install maven.
edufinn
10

Если вы не хотите устанавливать Homebrew только для установки Maven, вы можете просто сделать это:

  1. Скачайте бинарный Maven и распакуйте zip

  2. Запустите Терминал и введите эту команду:

    sudo ln -s /path_to_maven_folder/bin/mvn /usr/bin/mvn

Вы можете найти более подробную информацию об этом посте .

Фред К
источник
1
Я получаю ln: /usr/bin/mvn: Operation not permittedответ, думаю, мне нужно следовать этому: stackoverflow.com/a/32661637/1773155, чтобы решить эту проблему.
Shajeel Afzal
в Эль-Капитане я обнаружил, что нужно перейти в / usr / local / bin / mvn. Кажется , уборщик путь , чем выше ссылка stackvoerflow ссылки
Эриком
7
  1. Открытый терминал
  2. Просто используйте команду brew для установки maven
brew install maven
  1. После завершения загрузки и установки. Проверьте версию Maven
mvn -version

Ну вот !!! Теперь вы успешно установили maven на ваш Mac OS.

Ананта Чандра Дас
источник
1
Этот ответ является лишь выдержкой из полностью ранее отвеченного сообщения от Saurabh.
Уго Аллексис Кардона
6

для тех, кто только что перешел на mavericks - я использовал решение * -ux;

  1. скачать Maven с сайта Apache Maven
  2. положить / выбрать
  3. изменил .bash_profile и добавил:

    alias mvn='/opt/apache-maven-3.1.1/bin/mvn'
    export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_21.jdk/Contents/Home
гость
источник
2
Спасибо за это. Вероятно, вам следует просто добавить каталог maven bin в $ PATH.
Эван Б.
Почему это «Быстрый грязный путь», когда веб-сайт Maven, который вы использовали для загрузки maven, дает вам инструкции о том, как сделать это «Правильным способом»? Смотри мой ответ.
snooze92
Чтобы отменить эту ерунду, бегитеunalias mvn
egorikem
5

Два метода

  • (используйте доморощенный) Автоматическая установка:
    • Команда:
      • brew install maven
    • Плюсы и минусы
      • Плюсы: легко
      • Минусы: (вероятно) не последняя версия
  • Установить вручную (для последней версии):
    • Плюсы и минусы
      • Плюсы: используйте ожидаемую любую (или последнюю ) версию
      • Минусы: нужно сделать это самостоятельно
    • меры
      • скачать последнюю двоичную ( apache-maven-3.6.3-bin.zip ) версию с Maven официальная загрузка
      • распакуйте его ( apache-maven-3.6.3-bin.zip) и добавьте maven pathв переменную окруженияPATH
        • обычно это редактирование и добавление:
          • export PATH=/path_to_your_maven/apache-maven-3.6.3/bin:$PATH
        • в ваш скрипт запуска ( ~/.bashrcили ~/.zshrcт. д.)

Дополнительное примечание

как сразу вступить в силу и проверить, правильно ли установлено?

A:

source ~/.bashrc
echo $PATH
which mvn
mvn --version

вот вывод:

  bin pwd
/Users/crifan/dev/dev_tool/java/maven/apache-maven-3.6.3/bin
  bin ll
total 64
-rw-r--r--@ 1 crifan  staff   228B 11  7 12:32 m2.conf
-rwxr-xr-x@ 1 crifan  staff   5.6K 11  7 12:32 mvn
-rw-r--r--@ 1 crifan  staff   6.2K 11  7 12:32 mvn.cmd
-rwxr-xr-x@ 1 crifan  staff   1.5K 11  7 12:32 mvnDebug
-rw-r--r--@ 1 crifan  staff   1.6K 11  7 12:32 mvnDebug.cmd
-rwxr-xr-x@ 1 crifan  staff   1.5K 11  7 12:32 mvnyjp
  bin vi ~/.bashrc
  bin source ~/.bashrc
  ~ echo $PATH
/Users/crifan/dev/dev_tool/java/maven/apache-maven-3.6.3/bin:xxx
  bin which mvn
/Users/crifan/dev/dev_tool/java/maven/apache-maven-3.6.3/bin/mvn
  bin mvn --version
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: /Users/crifan/dev/dev_tool/java/maven/apache-maven-3.6.3
Java version: 1.8.0_112, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "mac os x", version: "10.14.6", arch: "x86_64", family: "mac"

для более подробной информации, пожалуйста, обратитесь к моему (китайскому) сообщению: 中 已 解决】 Mac 中 安装 Gradle

crifan
источник
4

Откройте окно TERMINAL и проверьте, установлено ли оно у вас.

Тип:

$ mvn –version

И вы должны увидеть:

Apache Maven 3.0.2 (r1056850; 2011-01-09 01:58:10+0100)
Java version: 1.6.0_24, vendor: Apple Inc.
Java home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Default locale: en_US, platform encoding: MacRoman
OS name: “mac os x”, version: “10.6.7″, arch: “x86_64″, family: “mac”

Если у вас еще не установлен Maven, то вот как загрузить и установить maven, а также настроить переменные среды в Mac OS X:

http://bitbybitblog.com/install-maven-mac/

user1187534
источник
2

На Maverick запустите в терминале, xcode-select --install чтобы установить инструменты командной строки.

Элайджа Саункин
источник
Если вы попытаетесь установить Homebrew, это произойдет автоматически, если у вас еще не установлены инструменты.
JavaCoderEx
2

Вы можете использовать Maven Version Manager, с помощью которого вы можете использовать несколько версий Maven для каждой базы каталогов.

Установка

Использование Homebrew brew install mvnvm

Без доморощенного mkdir -p ~/bin && curl -s https://bitbucket.org/mjensen/mvnvm/raw/master/mvn > ~/bin/mvn && chmod 0755 ~/bin/mvnи добавить ~/binв путь.

Применение

Версия по умолчанию

Чтобы установить версию maven по умолчанию, установите для переменной среды DEFAULT_MVN_VERSIONзначение maven, которое будет использоваться по умолчанию.

Maven версия для папки

Создайте файл с именем mvnvm.propertiesв папке и настройте версию maven следующим образом

mvn_version=<maven version>

Картикеян Вайтилингам
источник
1
% sudo port selfupdate; 
% sudo port upgrade outdated;
% sudo port install maven3;
% sudo port select --set maven maven3;

— add following to .zshenv -- start using zsh if you dont —
set -a
[[ -d /opt/local/share/java/maven3 ]] &&
    M3_HOME=/opt/local/share/java/maven3 &&
    M2_HOME=/opt/local/share/java/maven3 &&
    MAVEN_OPTS="-Xmx1024m" &&
    M2=${M2_HOME}/bin
set +a
yuzhewo
источник
1

Вы можете установить Maven с помощью доморощенного. Команда $ brew install maven

Шивам Кохли
источник
Это совершенно излишне, есть еще 8 ответов, говорящих одно и то же!
Марк Хан
1

После установки maven с помощью brew или вручную, с использованием macOS Catalina и использования терминала или iTerm для работы с maven вам потребуется предоставить доступ к приложениям для доступа к пользовательским файлам.

Системные настройки -> Конфиденциальность (кнопка) -> Полный доступ к диску

А затем добавьте терминал или iTerm в этот список.

Вам также нужно будет перезапустить приложение, например, терминал или iTerm после предоставления им полного доступа к диску.

dirbacke
источник
0

Для тех, кто хочет использовать Maven2 в Mavericks, введите:

brew tap homebrew/versions

brew install maven2

Если вы уже установили maven3, сделайте резервную копию 3 ссылок (mvn, m2.conf, mvnDebug) в /usr/local/binпервую очередь:

mkdir bak

mv m* bak/

затем переустановите:

brew uninstall maven2(только в случае противоречия)

brew install maven2

Андерсон
источник