Как установить Maven на Windows, Linux и macOS - Вопросы
Всего: 6 вопросов
1. Что значит установить Maven и что нужно сделать перед установкой?
Что значит установить Maven и что нужно сделать перед установкой?
Установить Maven — значит скачать дистрибутив Apache Maven (архив с готовыми файлами), распаковать его и добавить каталог bin в переменную окружения PATH, чтобы команда mvn запускалась из любой папки. Классического инсталлятора у Maven нет: в Windows установка сводится к распаковке и настройке переменных среды, а в Linux и macOS удобнее менеджеры пакетов (apt, dnf, brew) или SDKMAN.
Перед установкой нужен JDK, а не JRE: Maven 3.10.0 (рекомендованная версия) и предыдущая ветка 3.9.x запускаются на Java 8 и новее, Maven 4 (пока в стадии preview) — на Java 17 и новее. Maven находит Java через переменную JAVA_HOME (корень JDK) или, если она не задана, через команду java в PATH. Проверить JDK можно командами java -version и javac -version: если javac не найден, у вас JRE или JDK не добавлен в PATH.
Права администратора для ручной установки не обязательны. Если вы работаете только в IntelliJ IDEA или Eclipse, Maven уже встроен в IDE; отдельная установка нужна, чтобы запускать mvn в терминале, в скриптах и на CI-сервере.
2. Какими способами можно установить Maven и какой выбрать?
Какими способами можно установить Maven и какой выбрать?
- Архив с maven.apache.org — распаковать и добавить
binвPATH. Работает в любой ОС, даёт последнюю версию, не требует прав администратора; переменные и обновление — вручную. - Windows: Chocolatey, Scoop, winget —
choco install maven(консоль администратора),scoop install maven(без прав администратора); наличие и идентификатор пакета в winget проверяют командойwinget search maven.Pathнастраивается автоматически, JDK нужно установить заранее. - Linux: apt, dnf, apk —
sudo apt install maven,sudo dnf install maven,apk add maven. Одна команда, но версия из репозитория может отставать: в Ubuntu 22.04 это 3.6.3, в Ubuntu 24.04 и Debian 12 — 3.8.7. - macOS: Homebrew —
brew install maven, обновлениеbrew upgrade maven. Формула ставит свойopenjdkи безJAVA_HOMEзапускает Maven на нём, поэтому версия Java вmvn -versionможет отличаться отjava -version. - SDKMAN (Linux, macOS, WSL) —
sdk install maven; удобен, когда нужны несколько версий Maven или JDK (sdk use,sdk default). В «чистом» Windows без WSL или Git Bash не работает.
Для отдельного проекта глобальная установка может не понадобиться, если в нём есть Maven Wrapper (mvnw).
3. Где скачать Maven, какой файл выбрать и как проверить скачанный архив?
Где скачать Maven, какой файл выбрать и как проверить скачанный архив?
Скачивать Maven нужно с официального сайта Apache — страница maven.apache.org/download.cgi, раздел «Files». Для Windows выберите Binary zip archive (apache-maven-3.10.0-bin.zip), для Linux и macOS — Binary tar.gz archive (apache-maven-3.10.0-bin.tar.gz). Архивы с src в имени содержат исходный код и для установки не подходят.
Оба бинарных архива содержат одно и то же: Maven написан на Java и не зависит от ОС, отличается только формат упаковки. Это и есть «portable»-версия: распакованную папку можно скопировать в другой каталог или на флешку, и bin\mvn -version запустится без установки.
Зеркало dlcdn.apache.org хранит только текущие версии; старые лежат в archive.apache.org/dist/maven/maven-3/.
Проверка контрольной суммы: рядом с архивом есть файл .sha512. Посчитайте хэш и сравните — строки должны совпасть полностью:
Get-FileHash .\apache-maven-3.10.0-bin.zip -Algorithm SHA512 # Windows (PowerShell)
sha512sum apache-maven-3.10.0-bin.tar.gz # Linux
shasum -a 512 apache-maven-3.10.0-bin.tar.gz # macOS
PowerShell выводит хэш заглавными буквами, а в .sha512 он строчными — это не ошибка.
4. Как установить Maven в Windows 10 и 11 и нужна ли переменная M2_HOME?
Как установить Maven в Windows 10 и 11 и нужна ли переменная M2_HOME?
- Распакуйте zip-архив в каталог без пробелов, например
C:\dev: появитсяC:\dev\apache-maven-3.10.0с папкамиbin,boot,conf,lib. - Откройте окно переменных среды: Win+R →
sysdm.cpl→ «Дополнительно» → «Переменные среды». Переменные пользователя не требуют прав администратора. - Создайте
JAVA_HOMEсо значением корня JDK, без\binна конце. - В
PathдобавьтеC:\dev\apache-maven-3.10.0\bin. - Закройте все открытые терминалы, откройте новое окно и выполните
mvn -version.
M2_HOME не нужна: скрипты Maven перестали её читать начиная с версии 3.5.0. Обязательны только каталог bin в PATH и JDK. MAVEN_HOME можно завести для удобства (в Path тогда пишут %MAVEN_HOME%\bin), но сам Maven её не требует.
Не добавляйте Maven в PATH командой setx: она обрезает значение до 1024 символов. Вместо окна «Переменные среды» можно использовать PowerShell — [Environment]::SetEnvironmentVariable(..., "User").
5. Как проверить, что Maven установлен правильно, и на что смотреть в выводе mvn -version?
Как проверить, что Maven установлен правильно, и на что смотреть в выводе mvn -version?
Выполните в новом терминале mvn -version (или mvn -v). Команда выводит версию Maven, каталог установки и JDK, на котором Maven запущен:
- Apache Maven — версия, которая реально запускается. Если она старше ожидаемой, раньше в
PATHстоит другая установка: проверьтеwhere mvn(Windows) илиwhich mvn(Linux, macOS). - Maven home — откуда запущен Maven (после
apt installэто/usr/share/maven). - Java version / runtime — JDK, на котором работает Maven; его
javacскомпилирует проект, даже еслиjava -versionпоказывает другую версию. Если здесь JRE, сборка упадёт сNo compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
mvn без аргументов — не ошибка установки: Maven работает, но сообщает No goals have been specified for this build. А mvn package в папке без pom.xml завершится сообщением there is no POM in this directory — нужно перейти в корень проекта.
6. Чем установка Maven отличается от команды mvn install?
Чем установка Maven отличается от команды mvn install?
«Установить Maven» — значит поставить сам инструмент на компьютер: скачать дистрибутив, распаковать, добавить bin в PATH (или воспользоваться менеджером пакетов) и проверить mvn -version.
Команда mvn install к установке Maven отношения не имеет: это фаза жизненного цикла сборки, которая компилирует и тестирует проект, упаковывает его в jar и копирует результат в локальный репозиторий ~/.m2/repository, чтобы другие ваши проекты могли подключить его как зависимость. В выводе видны строки [INFO] Installing ... to ~/.m2/repository/... и BUILD SUCCESS.
Чтобы просто собрать jar, достаточно mvn package — файл появится в каталоге target.