他のプラグインへの反応
別のプラグインが適用されると、Spring Boot プラグインはプロジェクトの構成にさまざまな変更を加えることで反応します。このセクションでは、これらの変更について説明します。
Java プラグインへの反応
Gradle の java
プラグイン (英語) がプロジェクトに適用されると、Spring Boot プラグインは次のようになります。
プロジェクトの実行可能ファイル uber jar を作成する
bootJar
という名前のBootJar
(Javadoc) タスクを作成します。jar には、メインソースセットのランタイムクラスパス上のすべてが含まれます。クラスはBOOT-INF/classes
にパッケージ化され、jar はBOOT-INF/lib
にパッケージ化されます。bootJar
タスクに依存するようにassemble
タスクを構成します。plain
をアーカイブ分類子の規則として使用するようにjar
タスクを構成します。buildpack (英語) を使用して OCI イメージを作成する
bootBuildImage
という名前のBootBuildImage
(Javadoc) タスクを作成します。bootRun
という名前のBootRun
(Javadoc) タスクを作成します。このタスクは、main
ソースセットを使用してアプリケーションを実行し、メインメソッドを検索し、ランタイムクラスパスを提供するために使用できます。bootTestRun
という名前のBootRun
(Javadoc) タスクを作成します。このタスクは、test
ソースセットを使用してアプリケーションを実行し、メインメソッドを検索し、ランタイムクラスパスを提供するために使用できます。bootJar
タスクによって生成された成果物を含むbootArchives
という名前の構成を作成します。Spring Boot Boot の Devtools のように、開発時にのみ必要で、実行可能な jar や war にパッケージされるべきではない依存関係のために、
developmentOnly
という名前の設定を作成します。開発時およびテストの作成と実行時にのみ必要であり、実行可能 jar および war にパッケージ化すべきではない依存関係に対して、
testAndDevelopmentOnly
という名前の構成を作成します。productionRuntimeClasspath
という名前の構成を作成します。これは、runtimeClasspath
からdevelopmentOnly
またはtestDevelopmentOnly
構成にのみ現れる依存関係を除いたものと同等です。エンコーディングが構成されていない
JavaCompile
タスクがUTF-8
を使用するように構成します。-parameters
コンパイラー引数を使用するようにJavaCompile
タスクを構成します。
Kotlin プラグインへの反応
Kotlin の Gradle プラグイン (英語) がプロジェクトに適用されると、Spring Boot プラグインは次のことを行います。
Spring Boot の依存関係管理で使用される Kotlin バージョンをプラグインのバージョンに合わせます。これは、Kotlin プラグインのバージョンに一致する値で
kotlin.version
プロパティを設定することにより実現されます。-java-parameters
コンパイラー引数を使用するようにKotlinCompile
タスクを構成します。
War プラグインへの反応
Gradle の war
プラグイン (英語) がプロジェクトに適用されると、Spring Boot プラグインは次のようになります。
プロジェクトの実行可能な fat war を作成する
bootWar
という名前のBootWar
(Javadoc) タスクを作成します。標準パッケージに加えて、providedRuntime
構成のすべてがWEB-INF/lib-provided
にパッケージされます。bootWar
タスクに依存するようにassemble
タスクを構成します。plain
をアーカイブ分類子の規則として使用するようにwar
タスクを構成します。bootArchives
構成を構成して、bootWar
タスクによって生成された成果物を含めます。
依存関係管理プラグインへの対応
io.spring.dependency-management
プラグイン [GitHub] (英語) がプロジェクトに適用されると、Spring Boot プラグインは spring-boot-dependencies
bom を自動的にインポートします。
アプリケーションプラグインへの反応
Gradle の application
プラグイン (英語) がプロジェクトに適用されると、Spring Boot プラグインは次のようになります。
java -jar
を使用してbootArchives
構成でアーティファクトを起動するスクリプトを作成するbootStartScripts
という名前のCreateStartScripts
タスクを作成します。タスクは、defaultJvmOpts
プロパティの規則としてapplicationDefaultJvmArgs
プロパティを使用するように構成されています。boot
という名前の新しいディストリビューションを作成し、lib
ディレクトリのbootArchives
構成のアーティファクトとbin
ディレクトリの開始スクリプトを含むように構成します。main
プロパティの規則としてmainClassName
プロパティを使用するようにbootRun
タスクを構成します。bootRun
タスクとbootTestRun
タスクが、jvmArgs
プロパティの規則としてapplicationDefaultJvmArgs
プロパティを使用するように構成します。マニフェストの
Start-Class
エントリの規則としてmainClassName
プロパティを使用するようにbootJar
タスクを構成します。マニフェストの
Start-Class
エントリの規則としてmainClassName
プロパティを使用するようにbootWar
タスクを構成します。
GraalVM ネイティブイメージプラグインへの対応
GraalVM ネイティブイメージプラグイン (英語) がプロジェクトに適用されると、Spring Boot プラグインは次のことを行います。
以下の
org.springframework.boot.aot
プラグインを適用します。aot
およびaotTest
ソースセットを登録します。aot
ソースセット内のアプリケーションの AOT 最適化ソースを生成するprocessAot
という名前のProcessAot
タスクを登録します。processAot
に依存するaot
ソースセットの Java コンパイルおよびプロセスリソースタスクを構成します。アプリケーションのテスト用に AOT 最適化ソースを生成する
processTestAot
という名前のProcessTestAot
タスクをaotTest
ソースセットに登録します。processTestAot
に依存するaotTest
ソースセットの Java コンパイルおよびプロセスリソースタスクを構成します。
aot
ソースセットの出力をmain
GraalVM ネイティブバイナリのクラスパスに追加します。aotTest
ソースセットの出力をtest
GraalVM ネイティブバイナリのクラスパスに追加します。ツールチェーン検出を無効にするように GraalVM 拡張機能を構成します。
GraalVM 22.3 以降を必要とするように各 GraalVM ネイティブバイナリを構成します。
collectReachabilityMetadata
タスクによって生成された到達可能性メタデータをその jar に含めるようにbootJar
タスクを構成します。Spring-Boot-Native-Processed: true
マニフェストエントリを追加するようにbootJar
タスクを構成します。
CycloneDX プラグインへの対応
CycloneDX プラグイン [GitHub] (英語) がプロジェクトに適用されると、Spring Boot プラグインは次のことを行います。
cyclonedxBom
タスクを構成して、application
プロジェクト型を使用し、完全なライセンステキストなしで SBOM を JSON 形式でapplication.cdx
ファイルに出力します。生成された jar または war ファイルの
META-INF/sbom
に SBOM を追加します。jar または war ファイルのマニフェストに
Sbom-Format
とSbom-Location
を追加します。