Перейти к основному содержимому

Краткое руководство по Maven Wrapper

· 3 мин. чтения

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:

./c52de99f096fd299ea27ed8ea576fd92.png

Примечание: мы используем исполняемый файл mvnw вместо mvn, который теперь представляет собой программу командной строки Maven.

Теперь, когда мы знаем, что такое обертка Maven, давайте ответим на один из частых вопросов: нужно ли добавлять файлы mvnw в наши проекты?

Короткий ответ: нет. Файлы mvnw не обязательно являются частью наших проектов . Однако включение их может быть полезным. Например, это позволит любому, кто клонирует наш проект, собрать его без установки Maven.

4. Вывод

В этом руководстве мы увидели, как настроить и использовать Maven Wrapper в проекте Maven.

Как всегда, исходный код этой статьи можно найти на GitHub .