Установка Apache Maven на Debian 10

Apache Maven — инструмент автоматизации сборки и управления проектами, чаще всего используемый в экосистеме Java. Maven использует POM (Project Object Model) для унификации процесса сборки, предоставляет управление зависимостями, расширяемость через плагины и часто интегрируется с системами контроля версий для релизного процесса. Он также может генерировать отчёты и метаданные проекта.
В этом руководстве описан ручной способ установки Apache Maven на Debian 10 и проверка работоспособности с простым Java-приложением.
Что потребуется
- Система Debian 10 с доступом root или пользователем с правами sudo.
Если вы используете sudo-пользователя, откройте root-оболочку на время установки:
sudo -sВажно: используйте root-оболочку аккуратно и выходите из неё после завершения настроек.
Шаг 1: Установка JDK
- Обновите индекс пакетов и установите обновления:
apt update
apt upgrade -y- Установите OpenJDK 11, wget и git:
apt install -y default-jdk wget gitdefault-jdk в Debian 10 обычно ссылается на OpenJDK 11. Если нужна другая версия Java — рассмотрите использование пакетов openjdk-8-jdk, openjdk-17-jdk или менеджера версий SDKMAN (см. раздел «Альтернативные подходы»).
- Установите переменную окружения JAVA_HOME глобально:
echo "export JAVA_HOME=/lib/jvm/default-java" >> /etc/profileПояснение: JAVA_HOME указывает на корень JDK и используется Maven и другими инструментами для поиска Java.
Шаг 2: Установка Apache Maven
- Скачайте ключи разработчиков Apache и импортируйте их GPG. Ключи нужны для проверки подписи дистрибутива:
cd /tmp
wget https://www.apache.org/dist/maven/KEYS
gpg --import KEYS && rm KEYS- На странице загрузки Apache Maven выберите ссылку на «Binary tar.gz archive» и соответствующую сигнатуру. Скачайте архив и файл подписи. В примере используются заглушки LINK; замените их реальной ссылкой.
wget -O maven.tgz LINK.tar.gz
wget -O maven.tgz.asc LINK.tar.gz.ascПример конкретной команды (версия 3.6.2):
wget -O maven.tgz https://www-eu.apache.org/dist/maven/maven-3/3.6.2/binaries/apache-maven-3.6.2-bin.tar.gz
wget -O maven.tgz.asc https://www.apache.org/dist/maven/maven-3/3.6.2/binaries/apache-maven-3.6.2-bin.tar.gz.asc- Проверьте подпись GPG:
gpg --verify maven.tgz.asc maven.tgzОжидаемый признак валидной подписи — строка “Good signature” с указанием ключа. Если подпись не совпадает или ключ не найден, не используйте этот архив.
- Распакуйте архив и переместите папку в /opt/maven:
tar -xzf maven.tgz
rm maven.tgz*
mv apache-maven* /opt/maven- Добавьте /opt/maven/bin в PATH глобально:
echo "export PATH=$PATH:/opt/maven/bin" >> /etc/profile- Загрузите переменные окружения в текущую сессию:
. /etc/profile- Проверьте установку:
mvn -vПример корректного вывода:
Apache Maven 3.6.2 (40f52333136460af0dc0d7232c0dc0bcf0d9e117; 2019-08-27T17:06:16+02:00)
Maven home: /opt/maven
Java version: 11.0.5, vendor: Debian, runtime: /usr/lib/jvm/java-11-openjdk-amd64
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.19.0-6-amd64", arch: "amd64", family: "unix"Шаг 3: Тестирование Maven
Этот шаг необязателен, но полезен для проверки. Склонируйте пример проекта Hello World и соберите его:
cd /tmp
git clone https://github.com/nxnjz/java_maven_helloworld.git
cd java_maven_helloworld/
mvn packagemvn package выполнит фазы validate, compile, test, package. При успешной сборке вы увидите:
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------Запустите скомпилированный JAR:
java -cp target/hello-world-0.1.0.jar hello.HelloWorldАльтернативные подходы
- Установка через apt: в репозиториях Debian есть пакет maven, но он может быть старее актуальной версии. Используйте apt install maven, если приемлема версия в репозитории.
- SDKMAN: менеджер версий SDK (https://sdkman.io) позволяет устанавливать и переключать версии Maven, Java и других инструментов для отдельных пользователей.
Mermaid-диаграмма выбора метода установки:
flowchart TD
A[Нужно установить Maven?] --> B{Требуется конкретная версия}
B -- Да --> C[Скачивание с Apache и ручная установка]
B -- Нет --> D{Предпочитаете глобально или локально}
D -- Глобально --> E[apt install maven]
D -- Локально или управление версиями --> F[SDKMAN]Когда установка может не работать и как это диагностировать
- GPG не находит «Good signature»: убедитесь, что вы импортировали KEYS и что загружены соответствующие файлы архива и подписи.
- mvn: команда не найдена: проверьте, что /opt/maven/bin добавлен в PATH и что вы заново загрузили /etc/profile или перезашли в сессию.
- Неверная версия Java: Maven требует JDK (не только JRE). Проверьте java -version и $JAVA_HOME.
- Проблемы с правами: операции mv и запись в /opt требуют root.
Полезные команды для отладки:
which mvn
echo $PATH
echo $JAVA_HOME
java -version
ls -la /opt/mavenЧек-листы и роли
Чек-лист администратора перед установкой:
- Есть доступ root или sudo.
- Система обновлена (apt update && apt upgrade).
- Установлен JDK (default-jdk) и задан JAVA_HOME.
- Импортированы ключи Apache (gpg –import KEYS).
- Подписанный архив скачан и проверен (gpg –verify).
- /opt/maven создан и содержимое проверено правами.
- PATH обновлён и рабочая сессия перезагружена.
Чек-лист разработчика после установки:
- mvn -v показывает ожидаемую версию Maven и Java.
- mvn package успешно собирает тестовый проект.
- IDE (например, IntelliJ IDEA, Eclipse) настроена на обнаружение Maven и Java.
Роль-based: что делает DevOps-инженер
- Установить Maven глобально для CI-агентов.
- Обеспечить согласованность версий в CI (Docker-образ или конфигурация агента).
Роль-based: что делает разработчик
- Установить Maven локально или через SDKMAN.
- Настроить IDE и проверить сборку локально.
Быстрые советы и эвристики
- Если нужна гибкость версий — используйте SDKMAN. Если нужна стабильность системы CI — фиксируйте версию в образе Docker или в /opt/maven.
- Не меняйте системные пути без резервной копии /etc/profile. Добавьте export PATH в отдельный файл в /etc/profile.d/ при необходимости.
- Для CI лучше хранить артефакты в локальном Nexus/Artifactory, чтобы уменьшить зависимость от внешних репозиториев.
Мини-методология развертывания в команде
- Выберите подход (apt/manual/SDKMAN) и зафиксируйте политику версий.
- Подготовьте скрипт автоматической установки (Ansible/Shell) с проверками GPG.
- Протестируйте на чистой VM.
- Документируйте процесс и добавьте в runbook CI.
Критерии приёмки
- mvn -v возвращает ожидаемую версию Maven и указывает на /opt/maven.
- mvn package для тестового проекта успешно завершается (BUILD SUCCESS).
- Переменные PATH и JAVA_HOME установлены корректно для требуемых пользователей.
Краткое определение терминов
- POM: файл pom.xml, описывающий проект, зависимости и этапы сборки.
- JDK: Java Development Kit — комплект для разработки на Java (компилятор, библиотеки).
- GPG: система асимметричного шифрования и подписи файлов.
Распространённые ошибки и способы их устранения
- “gpg: “Good signature” не найдено”: проверьте, что KEYS импортирован, и вы скачали корректную пару файлов (.tar.gz и .asc).
- “mvn: command not found”: откройте новую сессию или выполните “. /etc/profile”; проверьте PATH.
- “No Java compiler found”: убедитесь, что установлен JDK, а не только JRE, и что JAVA_HOME указывает на JDK.
Заключение
Установка Maven вручную на Debian 10 — прямая процедура: JDK, загрузка и проверка архива Maven, распаковка в /opt/maven и настройка PATH. Для командных сред рекомендуются автоматизация установки и фиксация версий в CI. Если нужна гибкость версий локально — используйте SDKMAN; для простоты и интеграции с системой — apt-пакет.
Важно: всегда проверяйте подпись дистрибутива и используйте доверенные ключи.
Ключевые ссылки и документы
- Официальная страница загрузки Apache Maven
- Руководство по началу работы с Maven
Если при выполнении этой инструкции возникнут вопросы или ошибки, оставьте комментарий или просмотрите журналы команд для диагностики.
Похожие материалы
Microsoft Store открывается сам — как исправить
Скачать и установить appx/appxbundle/msixbundle
Кнопка «Установить» в Microsoft Store не отображается
Полноэкранный режим в Windows 10 — как включить
Восстановление приложений на iPhone и iPad