此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Boot 3.4.0! |
对其他插件做出反应
当应用另一个插件时, Spring Boot 插件会通过对项目的配置进行各种更改来做出反应。 本节介绍这些更改。
对 Java 插件做出反应
当 Gradle 的java
插件应用于项目时,Spring Boot 插件:
-
创建一个
BootJar
任务名称bootJar
这将为项目创建一个可执行的 uber jar。 jar 将包含主源集的运行时 Classpath 上的所有内容;类打包在BOOT-INF/classes
和 jar 打包在BOOT-INF/lib
-
配置
assemble
task 所依赖的bootJar
任务。 -
配置
jar
要使用的任务plain
作为其存档分类器的约定。 -
创建一个
BootBuildImage
任务名称bootBuildImage
,这将使用 buildpack 创建 OCI 映像。 -
创建一个
BootRun
任务名称bootRun
,可用于使用main
source set 来查找其 main 方法并提供其运行时 Classpath。 -
创建一个名为
bootTestRun
,可用于使用test
source set 来查找其 main 方法并提供其运行时 Classpath。 -
创建一个名为
bootArchives
,其中包含由bootJar
任务。 -
创建一个名为
developmentOnly
对于仅在开发时需要的依赖项,例如 Spring Boot 的 Devtools,并且不应打包在可执行 jar 和 wars 中。 -
创建一个名为
testAndDevelopmentOnly
对于仅在开发时以及编写和运行测试时需要且不应打包在可执行 jar 和 war 中的依赖项。 -
创建一个名为
productionRuntimeClasspath
.它相当于runtimeClasspath
减去仅出现在developmentOnly
或testDevelopmentOnly
配置。 -
配置任何
JavaCompile
未配置要使用的编码的任务UTF-8
. -
配置任何
JavaCompile
tasks 以使用-parameters
compiler 参数。
对 Kotlin 插件做出反应
将 Kotlin 的 Gradle 插件应用于项目时,Spring Boot 插件会:
-
将 Spring Boot 依赖项管理中使用的 Kotlin 版本与插件版本保持一致。 这是通过设置
kotlin.version
属性,其值与 Kotlin 插件的版本匹配。 -
配置任何
KotlinCompile
tasks 以使用-java-parameters
compiler 参数。
对 Dependency Management 插件做出反应
当io.spring.dependency-management
插件应用于项目时,Spring Boot 插件会自动导入spring-boot-dependencies
bom.
对应用程序插件做出反应
当 Gradle 的application
插件应用于项目时,Spring Boot 插件:
-
创建一个
CreateStartScripts
任务名称bootStartScripts
这将创建在bootArchives
配置java -jar
. 该任务配置为使用applicationDefaultJvmArgs
property 作为其defaultJvmOpts
财产。 -
创建一个名为
boot
并将其配置为包含bootArchives
配置在其lib
目录中的 API 和启动脚本bin
目录。 -
配置
bootRun
task 使用mainClassName
property 作为其main
财产。 -
配置
bootRun
和bootTestRun
tasks 以使用applicationDefaultJvmArgs
property 作为其jvmArgs
财产。 -
配置
bootJar
task 使用mainClassName
属性作为Start-Class
条目。 -
配置
bootWar
task 使用mainClassName
属性作为Start-Class
条目。
对 GraalVM Native Image 插件做出反应
将 GraalVM Native Image 插件应用于项目时,Spring Boot 插件:
-
应用
org.springframework.boot.aot
插件:-
寄存 器
aot
和aotTest
源集。 -
注册一个
ProcessAot
任务名称processAot
,这将为aot
source set 的 -
为
aot
源集processAot
. -
注册一个
ProcessTestAot
任务名称processTestAot
,这将为 App 的 Test 生成 AOT 优化源aotTest
source set 的 -
为
aotTest
源集processTestAot
.
-
-
添加
aot
source 设置为main
GraalVM 原生二进制文件。 -
添加
aotTest
source 设置为test
GraalVM 原生二进制文件。 -
配置 GraalVM 扩展以禁用工具链检测。
-
将每个 GraalVM 原生二进制文件配置为需要 GraalVM 22.3 或更高版本。
-
配置
bootJar
task 以包含由collectReachabilityMetadata
task 的 jar 中。 -
配置
bootJar
task 添加Spring-Boot-Native-Processed: true
manifest 条目。
对 CycloneDX 插件的反应
当 CycloneDX 插件应用于项目时,Spring Boot 插件:
-
配置
cyclonedxBom
task 使用application
project 类型并将 SBOM 输出到application.cdx
文件,不包含完整的许可证文本。 -
在
META-INF/sbom
在生成的 jar 或 war 文件中。 -
添加
Sbom-Format
和Sbom-Location
添加到 jar 或 war 文件的清单中。