Spring Boot Gradleプラグイン

Spring Boot Gradleプラグイン

1. 概要

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

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

2. ビルドファイルの構成

まず、pluginsセクションに含めることでwe need to add the Spring Boot plugin to our 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'

アプリケーションをビルドすると、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の場合、Gradle4.0以降を使用する必要があることに注意してください。

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

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

または、Spring Boot DSLから同じプロパティを使用できます。

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

3.2. Spring Boot 1.x

構成に応じて、With Spring Boot 1.x, bootRepackage is responsible for creating the executable archive(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ファイルのwe can just run it by using the java -jar command

java -jar build/libs/demo.jar

Spring Boot Gradle plugin also provides us with the bootRun taskこれにより、最初にアプリケーションをビルドしなくてもアプリケーションを実行できます。

./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 BootGradleプラグインは次のような複数のアクションを実行します。

  • 実行可能なjarファイルを生成するために使用できるa bootJarタスクを作成します

  • a bootRunタスクを作成します。これを使用して、アプリケーションを直接実行できます。

  • jarタスクの無効化

5.3. 戦争プラグイン

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

  • 実行可能なwarファイルを生成するために使用できるbootWarタスクを作成します

  • warタスクを無効にする

6. 結論

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

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