Maven — это система управления зависимостями с открытым исходным кодом на Java. Используя Maven вы можете прописать нужные вашему проекту зависимости, а платформа автоматически рассчитает, загрузит и подготовит все их зависимости, а также потом соберет проект в один готовый для выполнения jar файл. В какой-то мере это аналог команды make для java.
В этой статье мы рассмотрим как выполняется установка Maven в Ubuntu 20.04 из официальных репозиториев и с помощью официального сайта проекта.
Содержание статьи:
Как я уже сказал, Maven есть в официальных репозиториях Ubuntu, однако версия программы там может быть уже устаревшая. Сначала обновите списки пакетов из репозиториев:
sudo apt update
Затем выполните такую команду для того чтобы установить Maven:
sudo apt install maven
Это самый простой способ установки. Теперь вы можете проверить версию программы командой:
mvn -version
Как видите, сейчас в репозиториях находится версия 3.6.3. Но на момент написания статьи на официальном сайте доступна уже версия 3.8.1. Давайте рассмотрим как её установить.
Прежде всего необходимо установить зависимости программы. 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-javaM2_HOME=/opt/mavenMAVEN_HOME=/opt/mavenPATH=/opt/maven/bin:${PATH}
После этого нужно перелогинится чтобы обновились переменные окружения. И можно использовать 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, а также как пользоваться программой для создания нового проекта и сборки готового приложения.
Источник: https://losst.ru/ Материал распространяется под лицензией CC-BY-SA
Продолжая использовать данный сайт вы принимаете политику конфиденциальности и cookies