1. Обзор
Maven Wrapper — отличный выбор для проектов, которым нужна определенная версия Maven (или для пользователей, которые вообще не хотят устанавливать Maven). Вместо того, чтобы устанавливать множество его версий в операционной системе, мы можем просто использовать скрипт-оболочку для конкретного проекта.
В этой быстрой статье мы покажем, как настроить Maven Wrapper для существующего проекта Maven.
2. Настройка оболочки Maven
Есть два способа настроить его в проекте, самый простой из которых — использовать соответствующий плагин для его автоматизации или применить ручную установку.
2.1. Плагин
Давайте используем этот плагин Maven Wrapper для автоматической установки в простом проекте Spring Boot.
Во-первых, нам нужно зайти в основную папку проекта и выполнить эту команду:
mvn -N wrapper:wrapper
Мы также можем указать версию Maven:
mvn -N wrapper:wrapper -Dmaven=3.5.2
Параметр -N
означает -нерекурсивный,
поэтому оболочка будет применяться только к основному проекту текущего каталога, а не к каким-либо подмодулям.
После выполнения цели у нас будет больше файлов и каталогов в проекте:
mvnw
: это исполняемый сценарий оболочки Unix, используемый вместо полностью установленного Maven.mvnw.cmd
: это пакетная версия вышеуказанного скрипта.mvn
: скрытая папка, в которой находится библиотека Java Maven Wrapper и файл ее свойств.
2.2. Руководство
При ручном подходе мы можем скопировать файлы и папки, показанные выше, из другого проекта в основную папку текущего проекта.
После этого нам нужно указать версию Maven для использования в файле свойств оболочки, расположенном в файле .mvn/wrapper/maven-wrapper.properties
.
Например, в нашем файле свойств есть следующая строка:
distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.2/apache-maven-3.5.2-bin.zip
Следовательно, будет загружена и использована версия 3.5.2.
3. Варианты использования
Обертка должна работать с различными операционными системами, такими как:
- линукс
- ОС X
- Окна
- Солярис
После этого мы можем запустить наши цели для системы Unix следующим образом:
./mvnw clean install
И следующая команда для Windows:
mvnw.cmd clean install
Если у нас нет указанного Maven в свойствах обертки, он будет скачан и установлен в папку $USER_HOME/.m2/wrapper/dists
системы.
Давайте запустим наш проект Spring-Boot:
./mvnw spring-boot:run
Вывод такой же, как и для полностью установленного Maven:
Примечание: мы используем исполняемый файл mvnw
вместо mvn,
который теперь представляет собой программу командной строки Maven.
Теперь, когда мы знаем, что такое обертка Maven, давайте ответим на один из частых вопросов: нужно ли добавлять файлы mvnw
в наши проекты?
Короткий ответ: нет. Файлы mvnw
не обязательно являются частью наших проектов . Однако включение их может быть полезным. Например, это позволит любому, кто клонирует наш проект, собрать его без установки Maven.
4. Вывод
В этом руководстве мы увидели, как настроить и использовать Maven Wrapper в проекте Maven.
Как всегда, исходный код этой статьи можно найти на GitHub .