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プラグインとそのさまざまなタスクについて学びました。
また、他のプラグインとの相互作用についても説明しました。