Spring Boot Gradleプラグイン

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とそのさまざまなタスクについて学びました。

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