1. 概要

このチュートリアルでは、MavenビルドをGradleビルドに変換する方法を学習します。 この目的のために、既存のMavenプロジェクトでgradleinitコマンドを使用します。

2. Gradleのセットアップ

Gradleディストリビューションをダウンロードし、指定されたの指示に従って、Gradleをマシンにインストールしましょう。 Gradleの詳細を学ぶこともできます。

3. Mavenビルドファイル

標準のMavenJavaプロジェクトから始めましょう。このプロジェクトは、ルートディレクトリにある次の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.baeldung</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への変換

マスターpom.xmlを含むこのMavenプロジェクトのルートディレクトリに移動し、gradleinitコマンドを実行してみましょう。 応答を求められたら、入力してみましょうはいを押して入力。 次の出力が表示されます。

$ 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ビルドプロセスのコアコンポーネントであり、Mavenビルドのpom.xmlファイルと直接同等です。ここでpom.xmlを確認できます。 ] groupId、 version、依存関係などの属性は、同等の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. s ettings.gradle

settings.gradle ファイルは、初期化フェーズ中にGradleによって使用され、ビルドに含まれるプロジェクトを識別します。

/*
 * This file was generated by the Gradle 'init' task.
 */

rootProject.name = 'maven-to-gradle'

5.3. gradlewおよびgradlew.bat

1つはWindows用、もう1つはUnix用の2つの起動スクリプトもGradleによって生成されます。 これらのスクリプトを使用して、事前にGradleが設定されていないマシンでプロジェクトを実行できます。 gradle-wrapper を見ると、Gradleラッパーファイルの詳細を知ることができます。

6. 結論

この記事では、Mavenビルドがどのように含まれているのかを学びました pom.xml 次のような複数のビルドファイルを持つGradleビルドに変換できます build.gradle settings.gradle gradlew、 gradlew.bat。 この記事のソースコードは次のとおりです。 GitHubで