Apache Maven — это инструмент для управления сборкой Java-проектов, управления зависимостями и документацией. Он используется для автоматизации компиляции, тестирования и упаковки Java-приложений. В Debian Maven можно установить из стандартных репозиториев (проще, но версия старше) или вручную из бинарного архива (актуальная версия). Главные сложности для новичка: Maven требует установленный JDK (Java Development Kit), а при ручной установке нужно правильно настроить переменные окружения (M2_HOME и PATH). Также важно понимать, что в разных версиях Debian разные версии Maven и Java (Debian 13 — Maven 3.9.9 + Java 21, Debian 12 — Maven 3.8.7 + Java 17, Debian 11 — Maven 3.6.3 + Java 11).
💡 В этом руководстве вы установите Apache Maven на Debian двумя способами: через APT (рекомендованный для большинства) и ручной установкой (если нужна самая свежая версия). Вы также узнаете, как проверить установку на тестовом проекте, настроить прокси и решить типичные проблемы.
В этой статье вы узнаете:
- Как установить Maven через APT (рекомендовано)
- Как установить Maven вручную из бинарного архива (актуальная версия)
- Как настроить переменные окружения (
M2_HOME,PATH) - Как создать и собрать тестовый Maven-проект
- Как решить типичные проблемы:
JAVA_HOMEне задан,mvn: command not found
Для кого: Java-разработчики, DevOps-инженеры, системные администраторы, а также все, кто собирает Java-проекты на Debian 11, 12 или 13.
1. 🔧 Предварительные требования
Перед установкой убедитесь, что:
- У вас установлена Debian 11, 12 или 13
- Подключение к интернету стабильно
- У вас есть права sudo
⚠️ ВАЖНО: Проверьте права sudo перед установкой
Если вы не уверены, есть ли у вашего пользователя права администратора, выполните в терминале:
sudo whoami
Что делает: sudo выполняет команду от имени суперпользователя, whoami показывает имя текущего пользователя.
Зачем: Эта команда проверяет, есть ли у вас права sudo. Без них вы не сможете устанавливать пакеты.
✅ Если выводит root — всё в порядке, можете продолжать.
❌ Если выводит is not in the sudoers file — сначала пройдите наше руководство по настройке sudo.
1.1 Обновление системы
sudo apt update && sudo apt upgrade -y
Что делает: Обновляет список пакетов и устанавливает последние обновления.
2. 📊 Сравнение способов установки Maven
В Debian есть два основных способа установки Maven. Вот их сравнение:
| Метод | Откуда | Версия | Обновления | Плюсы | Минусы |
|---|---|---|---|---|---|
| APT рекомендовано | Репозитории Debian | Debian 13: 3.9.9, Debian 12: 3.8.7, Debian 11: 3.6.3 | Автоматически через apt upgrade | Простота, автоматические обновления | Версии старые, особенно на Debian 11 |
| Ручная установка | Официальный сайт Apache | Последняя стабильная | Вручную (перекачка архива) | Самая свежая версия | Требует ручного обновления и настройки PATH |
💡 Рекомендация: Для большинства пользователей подойдёт APT. Ручную установку выбирайте, если вам нужна самая свежая версия Maven или специфическая версия, которой нет в репозиториях.
3. 📦 Способ 1: Установка Maven через APT (рекомендованный)
Этот способ подходит для большинства пользователей. Вы получаете версию Maven, протестированную для вашего выпуска Debian.
3.1 Установка Maven и JDK
sudo apt install maven default-jdk -y
Что делает: Устанавливает Maven и JDK (Java Development Kit) по умолчанию.
3.2 Проверка версии Maven
mvn -version
✅ Ожидаемый вывод в терминале (Debian 13):
Apache Maven 3.9.9
Maven home: /usr/share/maven
Java version: 21.0.9, vendor: Debian, runtime: /usr/lib/jvm/java-21-openjdk-amd64
Какие версии в разных Debian:
| Версия Debian | Версия Maven | Версия Java |
|---|---|---|
| Debian 13 (Trixie) | 3.9.9 | 21 |
| Debian 12 (Bookworm) | 3.8.7 | 17 |
| Debian 11 (Bullseye) | 3.6.3 | 11 |
3.3 Проверка компилятора Java
javac -version
4. 📦 Способ 2: Ручная установка Maven (актуальная версия)
Этот способ подходит, если вам нужна самая свежая версия Maven.
4.1 Установка JDK и зависимостей
sudo apt install default-jdk ca-certificates curl -y
4.2 Определение последней версии и скачивание
cd /tmp
MAVEN_VERSION=$(curl -fsSL https://api.github.com/repos/apache/maven/releases/latest | grep -oP '"tag_name": "maven-\K[^"]+')
curl -fL "https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.tar.gz" -o "apache-maven-${MAVEN_VERSION}-bin.tar.gz"
4.3 Распаковка в /opt
sudo tar xzf "apache-maven-${MAVEN_VERSION}-bin.tar.gz" -C /opt/
4.4 Создание символической ссылки
sudo ln -sfn /opt/apache-maven-${MAVEN_VERSION} /opt/maven
4.5 Настройка переменных окружения
sudo tee /etc/profile.d/maven.sh >/dev/null <<'EOF'
export M2_HOME=/opt/maven
export PATH="${M2_HOME}/bin:${PATH}"
EOF
source /etc/profile
Что делает: Создаёт файл maven.sh в /etc/profile.d/, который устанавливает переменные M2_HOME и PATH для всех пользователей.
4.6 Проверка установки
mvn -version
✅ Ожидаемый вывод: Apache Maven 3.9.12 (актуальная версия).
5. 🧪 Проверка установки: тестовый проект
5.1 Создание проекта
mvn archetype:generate -DgroupId=com.example.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
cd my-app
5.2 Сборка проекта
mvn package
Что делает: Компилирует, тестирует и упаковывает проект в JAR-файл.
5.3 Запуск приложения
java -cp target/my-app-1.0-SNAPSHOT.jar com.example.app.App
✅ Ожидаемый вывод: Hello World!
6. ⚠️ Решение типичных проблем
6.1 Ошибка: JAVA_HOME not set
Симптом: При запуске mvn появляется ошибка:
The JAVA_HOME environment variable is not defined correctly
Пошаговое решение:
Шаг 1: Найдите путь к Java:
readlink -f /usr/bin/java
Шаг 2: Установите JAVA_HOME глобально:
echo "export JAVA_HOME=/usr/lib/jvm/default-java" | sudo tee /etc/profile.d/java-home.sh
source /etc/profile
Шаг 3: Проверьте:
mvn -version
6.2 Ошибка: mvn: command not found (после ручной установки)
Симптом: mvn -version не работает.
Причина: Переменные окружения не загрузились.
Решение: Перезагрузите профиль или откройте новый терминал:
source /etc/profile
6.3 Ошибка: Could not determine the latest Maven version
Симптом: Команда curl не может определить версию.
Решение: Установите версию вручную. Проверьте страницу релизов Maven и скачайте нужную версию:
MAVEN_VERSION=3.9.12
7. 🔄 Обновление Maven
Для APT-установки
sudo apt update
sudo apt install --only-upgrade maven -y
Для ручной установки
Повторите шаги из раздела 4 (скачивание, распаковка, обновление символической ссылки).
8. ❌ Удаление Maven
Удаление APT-версии
sudo apt remove --purge maven -y
sudo apt autoremove -y
Удаление ручной установки
sudo rm -rf /opt/apache-maven-*
sudo rm -f /opt/maven
sudo rm -f /etc/profile.d/maven.sh
Проверка удаления
command -v mvn
✅ Ожидаемый вывод: Пустая строка.
9. 📝 Чек-лист: всё готово к работе
- [ ] Система обновлена (
sudo apt update && sudo apt upgrade -y) - [ ] Выбран и выполнен один из способов установки (APT / ручная)
- [ ]
mvn -versionпоказывает ожидаемую версию - [ ]
javac -versionпоказывает версию компилятора Java - [ ] Тестовый проект создаётся (
mvn archetype:generate) - [ ] Проект собирается (
mvn packageбез ошибок) - [ ] Программа запускается (
java -cp ...выводитHello World!)
Заключение
Вы установили Apache Maven на Debian. Если вы выбрали APT — получили стабильную версию, которая будет обновляться вместе с системой. Если установили вручную — получили самую свежую версию, но обновлять её нужно самостоятельно. Maven — это стандартный инструмент для сборки Java-проектов, управления зависимостями и CI/CD. Главное, что нужно запомнить: Maven требует JDK, а не только JRE. Если возникают ошибки с JAVA_HOME, настройте его через файл в /etc/profile.d/.
Что дальше:
- Изучите официальную документацию Maven
- Настройте Maven для работы с корпоративным прокси (раздел 6)
- Интегрируйте Maven с CI/CD (Jenkins, GitLab CI)
- Установите Git для управления версиями кода
- Для контейнеризации Java-приложений изучите Docker