1. Обзор
В этом руководстве мы узнаем, как преобразовать сборку Maven в сборку Gradle. Для этого мы будем использовать команду gradle init
в существующем проекте Maven.
2. Настройка Грейдла
Давайте установим Gradle на нашу машину, скачав дистрибутив Gradle и следуя указанным инструкциям . Мы также можем углубиться, чтобы узнать больше о Gradle .
3. Файл сборки Maven
Начнем со стандартного Java-проекта Maven, в корневом каталоге которого находится следующий файл pom.xml
:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.foreach</groupId>
<artifactId>maven-to-gradle</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.12.0</version>
</dependency>
</dependencies>
</project>
4. Преобразование в Gradle
Давайте перейдем в корневой каталог этого проекта Maven, содержащего главный файл pom.xml,
и выполним команду gradle init
. Когда будет предложено ответить, давайте напечатаем yes
и нажмите Enter.
Мы должны увидеть следующий вывод:
$ gradle init
Found a Maven build. Generate a Gradle build from this? (default: yes) [yes, no] yes
> Task :init
Maven to Gradle conversion is an incubating feature.
Get more help with your project: https://docs.gradle.org/6.1/userguide/migrating_from_maven.html
BUILD SUCCESSFUL in 3s
2 actionable tasks: 2 executed
5. Сгенерированные файлы сборки Gradle
Теперь давайте перепроверим содержимое корневого каталога нашего проекта. Теперь мы должны увидеть ряд новых файлов в нашем корневом каталоге. Если мы хотим углубиться, мы можем взглянуть на gradle-build-settings-properties .
5.1. build.gradle
Файл build.gradle
является основным компонентом нашего процесса сборки Gradle и прямым эквивалентом файла pom.xml
для сборок Maven. Здесь мы видим, что атрибуты pom.xml, такие как groupId
,
версия
и зависимости
, переведены в их эквиваленты Gradle. Также присутствует атрибут sourceCompatibility
, который сообщает нам, какую версию Java использовать при компиляции исходников Java. В разделе плагинов у нас есть « java », который обеспечивает поддержку создания любого типа проекта Java, и «maven-publish», который обеспечивает поддержку публикации артефактов в Maven-совместимых репозиториях.
/*
* This file was generated by the Gradle 'init' task.
*/
plugins {
id 'java'
id 'maven-publish'
}
repositories {
mavenLocal()
maven {
url = 'http://repo.maven.apache.org/maven2'
}
}
dependencies {
implementation 'org.apache.commons:commons-lang3:3.12.0'
}
group = 'com.balendung'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'
publishing {
publications {
maven(MavenPublication) {
from(components.java)
}
}
}
5.2. настройки
.gradle ``
Файл settings.gradle
используется Gradle на этапе инициализации, чтобы определить, какие проекты включены в сборку.
/*
* This file was generated by the Gradle 'init' task.
*/
rootProject.name = 'maven-to-gradle'
5.3. gradlew
и gradlew.bat
Два сценария запуска, один для Windows и один для Unix, также генерируются Gradle. Эти сценарии можно использовать для запуска проекта на компьютере, на котором не была предварительно настроена Gradle. Мы можем узнать больше о файлах-оболочках Gradle, взглянув на gradle-wrapper .
6. Заключение
В этой статье мы узнали, как сборку Maven, содержащую pom.xml
, можно преобразовать в сборку Gradle с несколькими файлами сборки, такими как build.gradle
, settings.gradle
, gradlew
и gradlew.bat.
Исходный код из этой статьи можно найти на GitHub .