1概要

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

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


2ビルドファイルの設定

まず、

Spring Bootプラグインを

build.gradle


ファイルに追加して、

plugins

セクションに含める必要があります。

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'

アプリケーションをビルドすると、Spring Boot 1.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では、Gradle 4.0以降を使う必要があることに注意してください。

両方のタスクを設定することもできます。たとえば、

mainClassName

プロパティを使用してメインクラスを設定しましょう。

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

あるいは、Spring Boot DSLの同じプロパティを使用することもできます。

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

プラグインを適用すると、Spring Boot Gradleプラグインは次のような複数のアクションを取ります。

  • 実行可能ファイルを生成するために使用できるbootJar__タスクの作成

jarファイル
** bootRun__タスクの作成

直接
**

jar

タスクを無効にする


5.3. 戦争プラグイン

同様に、

war

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


  • bootWar

    タスクを作成します。

実行可能warファイル
**

war

タスクを無効にする


6. 結論

このクイックチュートリアルでは、Spring Boot Gradle Pluginとそのさまざまなタスクについて学びました。

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