Установка Maven в Ubuntu 20.04

Maven - это система управления зависимостями с открытым исходным кодом на Java. Используя Maven вы можете прописать нужные вашему проекту зависимости, а платформа автоматически рассчитает, загрузит и подготовит все их зависимости, а также потом соберет проект в один готовый для выполнения jar файл. В какой-то мере это аналог команды make для java.

В этой статье мы рассмотрим как выполняется установка Maven в Ubuntu 20.04 из официальных репозиториев и с помощью официального сайта проекта.

Установка Maven в Ubuntu 20.04

1. Репозитории

Как я уже сказал, Maven есть в официальных репозиториях Ubuntu, однако версия программы там может быть уже устаревшая. Сначала обновите списки пакетов из репозиториев:

sudo apt update

Затем выполните такую команду для того чтобы установить Maven:

sudo apt install maven

Это самый простой способ установки. Теперь вы можете проверить версию программы командой:

mvn -version

Как видите, сейчас в репозиториях находится версия 3.6.3. Но на момент написания статьи на официальном сайте доступна уже версия 3.8.1. Давайте рассмотрим как её установить.

2. Официальный сайт

Прежде всего необходимо установить зависимости программы. Maven версии 3.3 и выше будет работать только на JDK 1.7 и выше. Достаточно установить версию Java, которая есть в официальных репозиториях:

sudo apt install default-jdk

Затем вы можете проверить версию Java:

java -version

Дальше откройте страницу загрузки Maven на официальном сайте и скачайте последнюю версию. Нужен файл заканчивающийся на bin.tar.gz:

После завершения загрузки полученный файл следует разархивировать в папку /opt:

sudo tar xvf ~/Загрузки/apache-maven-*.tar.gz -C /opt

Для удобства управления версиями и обновления программы можно создать символическую ссылку на папку с Maven:

sudo ln -s /opt/apache-maven-3.8.1 /opt/maven

Для использования программы осталось настроить переменные окружения. Создайте файл /etc/environment.d/100-maven.conf и добавьте туда такие строки:

sudo vi /etc/environment.d/100-maven.conf

JAVA_HOME=/usr/lib/jvm/default-java
M2_HOME=/opt/maven
MAVEN_HOME=/opt/maven
PATH=/opt/maven/bin:${PATH}

 

После этого нужно перелогинится чтобы обновились переменные окружения. И можно использовать Maven. Чтобы убедится, что всё работает можно посмотреть версию:

mvn -version

Использование Maven

Для создания нового проекта в интерактивном режиме создайте папку для проекта, перейдите в неё и выполните такую команду:

mvn archetype:generate

Сначала утилита выведет список всех доступных шаблонов и предложит выбрать один из них. По умолчанию предлагается выбрать 1769, это пример проекта с использованием Maven:

Дальше надо указать groupId пакета, этот параметр означает разработчика проекта, тут можно ввести название компании, например, com.losst:

Затем надо ввести имя проекта (artefactId):

Далее программа спросит ещё имя пакета и предложит подтвердить выбор. Затем сообщит о том, что проект создан:

Вся конфигурация, созданная в Maven будет хранится в файле pom.xml. Вы можете посмотреть его содержимое:

vi pom.xml

Исходники программы находятся в папке src/main/java/com/losst/App.java:

cat src/main/java/com/losst/App.java

Программа должна выводить строчки Hello World на экран. Но прежде чем вы сможете её собрать и выполнить необходимо добавить в файл pom.xml несколько строк. Найдите описание плагина maven-jar-plugin и добавьте туда секцию configuration со следующим содержимым:

vi project/pom.xml

 <configuration>
   <archive>
     <manifest>
       <mainClass>com.losst.App</mainClass>
     </manifest>
   </archive>
</configuration>

В атрибуте mainClass необходимо прописать имя вашего основного класса вместе с именем пакета. Это необходимо для того чтобы Java машина знала что ей выполнять при запуске файла. После этого перейдите в папку project и запустите сборку:

cd project

mvn package

Затем можно выполнить программу:

java -jar target/project-1.0-SNAPSHOT.jar

 

Выводы

В этой небольшой статье мы рассмотрели как выполняется установка Maven в Ubuntu 20.04, а также как пользоваться программой для создания нового проекта и сборки готового приложения.

Ответить

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: