1. 概要

Spring Boot Gradleプラグインは、Spring Bootの依存関係を管理し、Gradleをビルドツールとして使用するときにアプリケーションをパッケージ化して実行するのに役立ちます。

このチュートリアルでは、プラグインを追加および構成する方法について説明し、次にSpring Bootプロジェクトをビルドして実行する方法を説明します。

2. ビルドファイル構成

まず、 SpringBootプラグインをpluginsセクションに含めて、build.gradleファイルに追加する必要があります。

plugins {
    id "org.springframework.boot" version "2.0.1.RELEASE"
}

2.1より前のGradleバージョンを使用している場合、または動的構成が必要な場合は、代わりに次のように追加できます。

buildscript {
    ext {
        springBootVersion = '2.0.1.RELEASE'
    }
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath(
          "org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}

apply plugin: 'org.springframework.boot'

3. アプリケーションのパッケージ化

build コマンドを使用してアプリケーションをビルドすることにより、アプリケーションを実行可能アーカイブ(jarまたはwarファイル)にパッケージ化できます。

./gradlew build

その結果、生成された実行可能アーカイブは build /libsディレクトリに配置されます。

実行可能jarファイルを生成する場合は、javaプラグインも適用する必要があります。

apply plugin: 'java'

一方、 war ファイルが必要な場合は、warプラグインを適用します。

apply plugin: 'war'

アプリケーションをビルドすると、SpringBoot1.xと2.xの両方の実行可能アーカイブが生成されます。 ただし、バージョンごとに、Gradleは異なるタスクをトリガーします。

次に、各ブートバージョンのビルドプロセスを詳しく見てみましょう。

3.1. Spring Boot 2.x

Boot 2.xでは、bootJarおよびbootWarタスクがアプリケーションのパッケージ化を担当します。

bootJar タスクは、実行可能jarファイルの作成を担当します。 これは、javaプラグインが適用されると自動的に作成されます。

bootJarタスクを直接実行する方法を見てみましょう。

./gradlew bootJar

同様に、 bootWar は実行可能なwarファイルを生成し、warプラグインが適用されると作成されます。

bootWar タスクは、次を使用して実行できます。

./gradlew bootWar

Spring Boot 2.xの場合、Gradle4.0以降を使用する必要があることに注意してください。

両方のタスクを構成することもできます。 たとえば、mainClassNameプロパティを使用してメインクラスを設定しましょう。

bootJar {
    mainClassName = 'com.baeldung.Application'
}

または、SpringBootDSLの同じプロパティを使用することもできます。

springBoot {
    mainClassName = 'com.baeldung.Application'
}

3.2。 Spring Boot 1.x

Spring Boot 1.xでは、bootRepackageは、構成に応じて実行可能アーカイブ (jarまたはwarファイルを作成します。

bootRepackage タスクは、次を使用して直接実行できます。

./gradlew bootRepackage

Boot 2.xバージョンと同様に、 build.gradle:bootRepackageタスクに構成を追加できます。

bootRepackage {
    mainClass = 'com.example.demo.Application'
}

enabledオプションをfalse:に設定して、bootRepackageタスクを無効にすることもできます。

bootRepackage {
    enabled = false
}

4. アプリケーションの実行

アプリケーションをビルドした後、生成された実行可能jarファイルでjava-jarコマンドを使用して実行できます。

java -jar build/libs/demo.jar

Spring Boot GradleプラグインはbootRunタスクも提供します。これにより、最初にアプリケーションをビルドしなくてもアプリケーションを実行できます。

./gradlew bootRun

bootRun タスクは、build.gradle。で簡単に構成できます。

たとえば、メインクラスを定義できます。

bootRun {
    main = 'com.example.demo.Application'
}

5. 他のプラグインとの関係

5.1. 依存関係管理プラグイン

Spring Boot 1.xの場合、これは依存関係管理プラグインを自動的に適用するために使用されていました。 これにより、Spring Bootの依存関係BOMがインポートされ、Mavenの依存関係管理と同様に機能します。

ただし、Spring Boot 2.x以降、この機能が必要な場合は、build.gradleで明示的に適用する必要があります。

apply plugin: 'io.spring.dependency-management'

5.2. Javaプラグイン

java プラグインを適用すると、SpringBootGradleプラグインは次のような複数のアクションを実行します。

  • bootJar タスクを作成します。これを使用して、実行可能なjarファイルを生成できます。
  • bootRun タスクを作成します。これを使用して、アプリケーションを直接実行できます。
  • jarタスクの無効化

5.3. 戦争プラグイン

同様に、 war プラグインを適用すると、次のようになります。

  • bootWar タスクを作成します。これを使用して、実行可能なwarファイルを生成できます。
  • 戦争タスクを無効にする

6. 結論

このクイックチュートリアルでは、SpringBootGradleプラグインとそのさまざまなタスクについて学習しました。

また、他のプラグインとどのように相互作用するかについても説明しました。