How to install Maven on macOS
By mkyong | Last updated: January 19, 2021
Viewed: 541,671 (+2,159 pv/w)
This article shows how to install Maven (3.6.3) on macOS Big Sur (version 11.1).
Related Articles
1. Homebrew install Maven on macOS
1.1 Install Homebrew, a package manager on macOS.
1.2 The command brew install maven will install the latest Maven.
1.3 Done. The Maven is installed on macOS.
P.S At the time of writing, the latest Maven version is 3.6.3
1.4 Where does Homebrew installed the Maven?
The brew will install the Maven packages at /usr/local/Cellar/maven/$
The brew also creates shortcut or symbolic links at /usr/local/opt/maven/
1.5 Where does Homebrew put the Maven configuration file, settings.xml ?
The settings.xml is available at /usr/local/opt/maven/libexec/conf
1.6 Where does Homebrew put the core mvn executable file?
The mvn is at /usr/local/bin/
1.7 brew info maven to show the detail of the Maven package.
1.8 brew list maven
1.9 Useful commands:
- brew upgrade maven to upgrade Maven.
- brew uninstall maven to uninstall Maven.
2. Install Maven Manually
If Homebrew failed you or you don’t want the black-box magic, try to install the Maven manually.
2.1 Download the Maven, for example apache-maven-3.6.3-bin.tar.gz
2.2 The below command extracts the downloaded .tar.gz file to the current user’s home directory
2.3 Now, the Maven folder is at this path /Users/mkyong/apache-maven-3.6.3
2.4 On macOS 10.5 Catalina or later, the default shell is zsh, and we can create the environment variables MAVEN_HOME and update the PATH in
/.zshenv and append the following content.
Note
For macOS 10.14 Mojave and before, the default Terminal shell is bash , and we can create the environment variables in
/.bash_profile and append the following content.
/.zshenv to reflect the changes.
References
mkyong
Founder of Mkyong.com, love Java and open source stuff. Follow him on Twitter. If you like my tutorials, consider make a donation to these charities.
Comments
Perhaps, you have to add ‘source
/.bash_profile’. Otherwise is a good article.
Article is updated with source
Now the macOS default shell is zsh.
I would recommend Homebrew for installing maven – it should almost always be the install method of choice. ‘$ brew install maven’
Article is updated with brew install
I came here because Homebrew install failed. Agreed that Homebrew should be added as first choice but rest of this article was incredibly useful. Also good if you want to install a previous version of Maven.
How to set environment variables for Maven when maven installed using “brew install maven” ?
My Default folder path on mac for mvn is —> /usr/local/bin/mvn
macOS 10.5 Catalina and later
for the zsh shell, puts the environment variables at
macOS 14 Mojave and before
for the bash shell, puts the environment variables at
MAVEN came pre installed since version 10.6.8 MacOSx Snow Leopard.
Not anymore, latest macOS doesn’t come with Maven pre-installed.
It’s working slightly differently way on my system. I have macOS bigSur v11.3.1 and I installed maven v3.6.3 manual way.
I put the path in
/.zshenv but it would only work in same terminal. In new terminal “mvn -version” wouldn’t work (I had saved using “source
Finally i had to put the path in “
/.bash_profile” as well. Then it worked even after closing terminal.
Источник
Maven установка на Mac OS X
Я пытаюсь установить maven через terminal, следуя этим инструкциям .
До сих пор я получал это
Это, наверное, глупый вопрос, куда вы идете, чтобы найти это?
23 ответа
Я пытаюсь скомпилировать различные расширения python (pycrypto, paramiko, subvertpy. ) на Mac OS X 10.6, чтобы они были совместимы с Mac OS X 10.5 и его встроенным python 2.5, для включения в установщик продукта, предназначенный для Mac OS X 10.5. Я действительно не знаю, как это сделать. Я.
Установка Mercurial на Mac OS X 10.6 Snow Leopard Я установил Mercurial 1.3.1 на Mac OS X 10.6 Snow Leopard из исходного кода, используя следующее: cd
/src curl -O https://www.mercurial-scm.org/release/mercurial-1.3.1.tar.gz tar -xzvf mercurial-1.3.1.tar.gz cd mercurial-1.3.1 make all sudo make.
В качестве альтернативы я рекомендую установить Homebrew для таких утилит.
Затем вы просто устанавливаете Maven с помощью:
PS: Если вы получили ошибку 404, попробуйте сделать brew update непосредственно перед
Отказ от ответственности : Вот полный ответ с учетом последней версии OS X (10.9 AKA Mavericks). Я знаю, что все, что я собрал в этом ответе, уже присутствует на странице, но наличие его четко в одном ответе делает его намного яснее.
Во-первых, в предыдущих версиях OS X по умолчанию устанавливается Maven. Если Java отсутствует, запуск you@host:
$ java в terminal запросит установку Java.
В Mac OS X 10.9 (Mavericks) Maven больше не устанавливается по умолчанию. Тогда возможны различные варианты:
$ brew install maven установит последнюю версию Maven (3.5.2 на 02/01/2018)
you@host:
$ brew install maven30 установит Maven 3.0 при необходимости
Использование Macports : (Я не тестировал это )
- you@host:
- или:
- you@host:
$ sudo port install maven3 установит Maven 3.0
you@host:$ sudo port select —set maven maven3 выбирает эту версию Maven
$ sudo port install maven установит последнюю версию Maven (?)
- Скачать Maven с его домашней страницы
- Следуйте инструкциям по установке:
- Распакуйте архив дистрибутива, т. е. apache-maven-3.3.9-bin.tar.gz , в каталог, который вы хотите установить Maven 3.3.9. Подкаталог apache-maven-3.3.9 будет создан из архива.
- Необязательно : Добавьте переменную среды MAVEN_OPTS, чтобы указать свойства JVM, например export MAVEN_OPTS=»-Xms256m -Xmx512m» . Эта переменная среды может использоваться для предоставления дополнительных опций Maven.
- Убедитесь, что JAVA_HOME установлен в местоположение вашего JDK, например export JAVA_HOME=$(/usr/libexec/java_home -v 1.8) , и что $JAVA_HOME/bin находится в переменной среды PATH (хотя это может быть необязательно в последних версиях Mac OS X и Oracle JDK).
- Добавьте извлеченный apache-maven-3.3.9/bin к вашему $PATH
- Запустите mvn —version , чтобы убедиться, что он правильно установлен.
OS X до Mavericks (10.9) на самом деле поставляется со встроенным Maven 3.
Если вы используете OS X Lion, по умолчанию у вас не будет java. Запустите java самостоятельно, и он предложит вам установить его.
Предполагая, что требования выполнены, запустите mvn -version и посмотрите некоторые результаты, подобные этому:
Я пытался установить Apache Maven на свой Mountain Lion iMac, когда узнал, что Maven уже предустановлен на Mac OS X. Я действительно Новичок в разработке, и я очень плохо представляю, что я делаю с Maven. В итоге я испортил все переменные окружения, например export.
Я установил JDK на Mac OS X v10.8 (горный лев). Когда я обновил его до Mac OS X v10.9 (Mavericks) и запустил java -version в terminal, он показал: Нет Java runtime present, запрашивающего установку. Затем я вручную установил JDK (1.7) на свой Mac. Похоже, что.
Когда я недавно обновился до OS X Mavericks, и мои сборки maven начали выходить из строя. Поэтому мне нужно было снова установить maven, так как он не встроен. Затем я попробовал с помощью команды:
он работает, но он устанавливает версию 3.1.1 maven, что вызывает некоторые проблемы у некоторых пользователей, таких как ( https://cwiki.apache.org/confluence/display/MAVEN/AetherClassNotFound ). Поэтому, если вы столкнулись с той же проблемой, вы, вероятно, захотите установить более раннюю версию Maven, 3.0.5. Чтобы сделать это с Homebrew, вы должны выполнить следующую команду:
Вот и все, затем он будет использовать другую формулу Homebrew, которая вместо этого даст вам maven 3.0.5.
macOS Сьерра и далее
brew install maven
Чтобы установить Maven на OS X, перейдите на веб-сайт Apache Maven и загрузите двоичный файл zip.
Затем вы можете переместить папку apache-maven-3.0.5 в папке загрузок туда, где вы хотите сохранить Maven; однако, поскольку rest процесса включает командную строку, я рекомендую вам делать все оттуда.
В командной строке вы бы запустили что-то вроде:
Это просто мое личное предпочтение — иметь каталог «Development» в моем домашнем каталоге. Вы можете выбрать что-то другое, если хотите.
/.профиль в выбранном вами редакторе и добавьте следующее:
Первая строка важна для Maven (и должна быть полным путем explcit); вторая строка важна для shell, чтобы запустить двоичный файл «mvn». Если у вас уже есть вариант этой второй строки в .profile, просто добавьте $
Теперь откройте второе окно terminal и запустите
что должно дать такой результат.
Несколько вещей, которые следует отметить:
Если вы установили Oracle JDK 1.7, то в приведенном выше выводе вы можете найти Maven отчетов JDK 1.6. Чтобы решить эту проблему, добавьте следующее в свой профиль
Как указывали некоторые, Maven исторически поставлялся либо с самой OS X, либо с дополнительными инструментами командной строки для XCode. Это может перестать иметь место для будущих версий OS X, и на самом деле OS X Mavericks не включает Maven. Личное мнение: Это может быть связано с тем, что они все еще находятся в бета-версии, или, возможно, Apple взглянула на новейший радар технологии Thoughtworks и заметила, что Maven был перемещен в «Hold».
Источник
Apache Maven — основы
После публикации топика о Maven в комментариях возникли вопросы о том, как начать с ним работать, с чего начать, как составлять файлы pom.xml, откуда брать плагины и т.п. Данный топик будет своего рода getting started или f.a.q.
Терминология
Как в любой системе, в Maven, есть свой набор терминов и понятий.
Вся структура проекта описывается в файле pom.xml (POM – Project Object Model), который должен находиться в корневой папке проекта. Ключевым понятием Maven является артефакт — это, по сути, любая библиотека, хранящаяся в репозитории. Это может быть какая-то зависимость или плагин.
Зависимости — это те библиотеки, которые непосредственно используются в вашем проекте для компиляции кода или его тестирования.
Плагины же используются самим Maven’ом при сборке проекта или для каких-то других целей (деплоймент, создание файлов проекта для Eclipse и др.).
В самом начале работы с Maven, пользователь непременно столкнется с таким понятием как архетип. Архетип — это некая стандартная компоновка файлов и каталогов в проектах различного рода (веб, swing-проекты и прочие). Другими словами, Maven знает, как обычно строятся проекты и в соответствии с архетипом создает структуру каталогов.
Как правило, название артефакта состоит из названия группы, собственного названия и версии. К примеру Spring будет иметь вот такое название в среде Maven: org.springframework.spring:2.5.5. Последний домен означает всегда artifactId, все, что перед ним – groupId – хорошо это запомните!
На жизненном цикле останавливаться не буду, так как он хорошо описан в вышеобозначенной статье. А теперь перейдем к практике.
Установка Maven
Последнюю версию всегда можно скачать на странице загрузки на официальном сайте. Просто распаковываем архив в любую директорию. Далее необходимо создать переменную в Path, в которой необходимо указать путь к Maven. Заходим в Win + Pause – Дополнительно – Переменные среды – в верхнем окошке нажимаем Создать, вводим имя M2_HOME и значение допустим “C:\apache-maven-2.2.1”. Далее там же создаем еще одну переменную M2 со значением %M2_HOME%\bin. Так же убеждаемся, что есть переменная JAVA_HOME с путем к JDK. Ее значение должно быть примерно таким «c:\Program Files\Java\jdk1.6.0_10\». И наконец в том же окошке создаем/модифицируем переменную Path, в нее необходимо просто написать %M2%, чтобы наша папочка с исполняемым файлом Maven была видна из командной строки. Теперь необходимо проверить работоспособность нашей установки. Для этого заходим в командную строку и вводим команду
Должна появиться информация о версиях Maven, jre и операционной системе, что-то вроде:
Maven создаст вам локальный репозиторий в вашей личной папке, например в каталоге C:\Documents and Settings\username\.m2\repository
Все, Maven готов к работе, можно приступать к созданию приложения.
Создание приложения из архетипа
На сайте Maven перечислены наиболее популярные архетипы для приложений, но вы можете легко создать свой или найти более специфичный например здесь.
Итак, допустим нас интересует веб-приложение – находим подходящий архетип, называется он maven-archetype-webapp. В командной строке, в необходимом каталоге выполняем команду Maven:
Теперь мы можем лицезреть довольно наглядную структуру каталогов с говорящими названиями java – здесь будут ваши классы, webapp – здесь размещаются странички веб-приложения, resources – различного рода ресурсы в classpath (файлы конфигурации, например), test – юнит-тесты, соответственно и т.п.
Сборка проекта
Здесь все просто – выполняем команду
в корневом каталоге приложения, там, где находится файл pom.xml. Первая команда скомпилирует ваш проект и поместит его в папку target, а вторая еще и положит его к вам в локальный репозиторий.
Есть полезная функция, наподобие конвеера, то есть можно написать
и Maven сначала очистит папку target проекта, потом соберет его и положит в репозиторий.
Минимальный набор действий для работы Maven мы изучили, теперь переходим к кастомизации и добавлению зависимостей проекта.
Зависимости и репозитории
Как правило, большинство популярных библиотек находятся в центральном репозитории, поэтому их можно прописывать сразу в раздел dependencies вашего pom-файла. Например чтобы подключить Spring Framework необходимо определить следующую зависимость:
Версию хотя и можно не указывать и тогда Maven возьмет последний вариант, но я вам лично советую это делать, потому как у нас неоднократно бывали случаи, что проект просто в один момент переставал собираться или начинал падать в совершенно неожиданных и хорошо оттестированных местах, хотя вроде бы никто ничего не менял.
Специфические вещи обычно не находятся в центральном репозитории и тогда вам придется указать репозиторий производителя вручную. Для примера добавим зависимость JSF-фреймворка ajax-компонентов JBoss RichFaces.
С зависимостями все просто:
А вот репозиторий JBoss теперь необходимо прописать ручками либо в файле settings.xml, который лежит в корне вашего локального репозитория, либо в самом файле pom.xml, в зависимости от того, нужен ли данный репозиторий во всех проектах, либо в каком-то одном конкретном, соответственно:
Как правило на сайтах крупных проектов пишут всю информацию, необходимую для встраивания их библиотеки в проект на основе Maven, но бывают случаи, когда артефакт приходится искать очень и очень долго. Здесь нам очень сильно может помочь MVNrepository.com — он вам всегда подскажет где может находиться искомая библиотечка. Но если уж и там не нашлось, то из собственного опыта могу посоветовать гуглить « pom.xml». Бывает так, что проекты уже давно закрыты и в репозитории не положены потому что разработчики уже не заботятся об их распространении. Тогда остается один единственный способ – добавить файл в репозиторий вручную командой:
Последний параметр чаще всего имеет значение jar.
Плагины
Так как плагины являются такими же артефактами, как и зависимости, то они описываются практически так же. Вместо раздела dependencies – plugins, dependency – plugin, repositories – pluginRepositories, repository – pluginRepository.
Плагинами Maven делает все, даже непосредственно то, для чего он затевался – сборку проекта, только этот плагин необязательно указывать в свойствах проекта, если вы не хотите добавить какие-то фичи.
Посмотрим как настроить плагин для создания проекта для Eclipse с использованием WTP ver. 2.0. В раздел plugins нашего pom.xml прописываем следующий плагин:
Теперь идем опять таки в командную строку и выполняем команду
Ждем пока Maven найдет все библиотеки в репозитории или скачает их и вуаля – теперь наш Maven-проект можно открыть как проект eclipse. При этом библиотеки никуда не копируются как при классическом подходе, а остаются в репозитории и Eclipse делает на них ссылку через свои переменные.
Единого списка всех плагинов естественно не существует, на официальном сайте только есть поддерживаемые плагины непосредственно разработчиками Maven. Однако хотелось бы отметить, что названия плагинов довольно прямолинейны и сделав поиск по ключевым словам «maven tomcat plugin» вы скорее всего обнаружите первой ссылкой плагин для деплоймента проекта в Tomcat.
Собственный репозиторий
К сожалению сам не имею большого опыта настройки репозитория, но могу посоветовать как наиболее простой и распространенный Nexus. За дополнительной информацией следует обратиться на сайт данного проекта.
Однако нельзя оставить без внимания и достойных конкурентов в лице Artifactory и Archiva.
Источник