|
此版本仍在开发中,尚未视为稳定版。如需最新稳定版本,请使用 Spring Boot 4.0.4! |
响应其他插件
当应用另一个插件时,Spring Boot 插件会通过修改项目的各项配置来作出响应。 本节将介绍这些修改。
响应 Java 插件
当 Gradle 的 java 插件 应用于项目时,Spring Boot 插件会:
-
创建一个名为
bootJar的BootJar任务,该任务将为项目生成一个可执行的 uber jar。 该 jar 将包含主源集运行时类路径上的所有内容;类被打包在BOOT-INF/classes中,jar 包被打包在BOOT-INF/lib中。 -
配置
assemble任务,使其依赖于bootJar任务。 -
配置
jar任务,使其使用plain作为其归档分类器的约定。 -
创建一个名为
bootBuildImage的BootBuildImage任务,该任务将使用 buildpack 构建 OCI 镜像。 -
创建一个名为
bootRun的BootRun任务,该任务可用于运行您的应用程序,它使用main源集来查找其主方法并提供其运行时类路径。 -
创建一个名为
bootTestRun的BootRun任务,该任务可用于运行您的应用程序,它使用test源集来查找其主方法并提供其运行时类路径。 -
创建一个名为
bootArchives的配置,其中包含由bootJar任务生成的构件。 -
创建一个名为
developmentOnly的配置,用于仅在开发阶段需要的依赖项(例如 Spring Boot 的 Devtools),这些依赖项不应被打包到可执行的 JAR 和 WAR 文件中。 -
创建一个名为
testAndDevelopmentOnly的配置,用于那些仅在开发阶段以及编写和运行测试时才需要的依赖项,这些依赖项不应被打包到可执行的 JAR 和 WAR 文件中。 -
创建一个名为
productionRuntimeClasspath的配置。它等同于runtimeClasspath减去所有仅出现在developmentOnly或testDevelopmentOnly配置中的依赖项。 -
将所有未配置编码的
JavaCompile任务配置为使用UTF-8。 -
配置所有
JavaCompile任务,以使用-parameters编译器参数。
响应 Kotlin 插件
当Kotlin 的 Gradle 插件被应用到一个项目时,Spring Boot 插件:
-
将 Spring Boot 依赖管理中使用的 Kotlin 版本与插件的版本对齐。 这是通过设置
kotlin.version属性,使其值与 Kotlin 插件的版本相匹配来实现的。 -
配置所有
KotlinCompile任务,以使用-java-parameters编译器参数。
响应依赖管理插件
当 io.spring.dependency-management 插件 应用于项目时,Spring Boot 插件将自动导入 spring-boot-dependencies BOM。
响应应用程序插件
当 Gradle 的 application 插件 应用于项目时,Spring Boot 插件会:
-
创建一个名为
CreateStartScripts的bootStartScripts任务,该任务将生成启动脚本,使用bootArchives命令来运行java -jar配置中的制品。 该任务被配置为使用applicationDefaultJvmArgs属性作为其defaultJvmOpts属性的约定值。 -
创建一个名为
boot的新分发包,并将其配置为:将bootArchives配置中的构件放入其lib目录中,并将启动脚本放入其bin目录中。 -
配置
bootRun任务,使其使用mainClassName属性作为其main属性的约定。 -
配置
bootRun和bootTestRun任务,使其使用applicationDefaultJvmArgs属性作为其jvmArgs属性的约定。 -
配置
bootJar任务,使其使用mainClassName属性作为其清单(manifest)中Start-Class条目的约定。 -
配置
bootWar任务,使其使用mainClassName属性作为其清单(manifest)中Start-Class条目的约定。
响应 GraalVM 原生镜像插件
当GraalVM Native Image 插件被应用到项目时,Spring Boot 插件会:
-
应用
org.springframework.boot.aot插件,该插件:-
注册
aot和aotTest源代码集。 -
注册一个名为
ProcessAot的processAot任务,该任务将在aot源集(source set)中为应用程序生成 AOT 优化的源代码。 -
配置
aot源集的 Java 编译和处理资源任务,使其依赖于processAot。 -
注册一个名为
ProcessTestAot的processTestAot任务,该任务将为aotTest源代码集中的应用程序测试生成 AOT 优化的源代码。 -
配置
aotTest源集的 Java 编译和处理资源任务,使其依赖于processTestAot。
-
-
将
aot源集的输出添加到mainGraalVM 原生二进制文件的类路径中。 -
将
aotTest源集的输出添加到testGraalVM 原生二进制文件的类路径中。 -
配置 GraalVM 扩展以禁用工具链检测。
-
配置
bootJar任务,使其在生成的 JAR 文件中包含由collectReachabilityMetadata任务生成的可达性元数据。 -
配置
bootJar任务,以添加Spring-Boot-Native-Processed: true清单条目。
响应 CycloneDX 插件
当CycloneDX 插件被应用到项目时,Spring Boot 插件将:
-
配置
cyclonedxBom任务以:-
使用
application项目类型。 -
将 SBOM 以 JSON 格式输出到
application.cdx.json文件中。 -
禁用 XML 格式的 SBOM。
-
禁用完整许可证文本。
-
-
在生成的 jar 或 war 文件中的
META-INF/sbom路径下添加 SBOM。 -
将
Sbom-Format和Sbom-Location添加到 jar 或 war 文件的清单(manifest)中。
响应 Protobuf 插件
当 Protobuf 插件 应用于项目时,Spring Boot 插件:
-
配置
protoc以使用构件com.google.protobuf:protoc,将其版本与运行时类路径上的 Protobuf 依赖项的版本保持一致。 -
配置
grpc插件以使用构件io.grpc:protoc-gen-grpc-java,将其版本与运行时类路径上的 gRPC 依赖项的版本对齐。 -
使用选项
@generated=omit配置所有生成 proto 任务的grpc插件。