Установка Apache Maven на Debian 13, 12, 11: подробное руководство

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.921
Debian 12 (Bookworm)3.8.717
Debian 11 (Bullseye)3.6.311

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