此版本仍在开发中,尚未被视为稳定版本。如需最新稳定版本,请使用 Spring Boot 4.0.4!spring-doc.cadn.net.cn

响应其他插件

当应用了另一个插件时,Spring Boot 插件会通过对项目配置进行各种更改来做出反应。 本节描述这些更改。spring-doc.cadn.net.cn

响应 Java 插件

当 Gradle 的 java 插件 应用于项目时,Spring Boot 插件:spring-doc.cadn.net.cn

  1. 创建一个名为bootJarBootJar任务,该任务将为项目创建一个可执行的、包含所有依赖的jar包。 该jar包将包含主源集运行时类路径上的所有内容;类被打包在BOOT-INF/classes中,jar包被打包在BOOT-INF/libspring-doc.cadn.net.cn

  2. 配置 assemble 任务以依赖于 bootJar 任务。spring-doc.cadn.net.cn

  3. 配置 jar 任务使用 plain 作为其归档分类器的约定。spring-doc.cadn.net.cn

  4. 创建一个名为 bootBuildImageBootBuildImage 任务,该任务将使用 构建包 创建一个 OCI 镜像。spring-doc.cadn.net.cn

  5. 创建一个名为 bootRunBootRun 任务,可用于使用 main 源集来查找其主方法并提供运行时类路径。spring-doc.cadn.net.cn

  6. 创建一个名为 bootTestRunBootRun 任务,可用于使用 test 源集来查找其主方法并提供运行时类路径。spring-doc.cadn.net.cn

  7. 创建一个名为 bootArchives 的配置,其中包含由 bootJar 任务生成的构件。spring-doc.cadn.net.cn

  8. 创建一个名为 developmentOnly 的配置,用于仅在开发时需要的依赖项(例如 Spring Boot 的 Devtools),这些依赖项不应打包到可执行的 jar 和 war 文件中。spring-doc.cadn.net.cn

  9. 创建一个名为 testAndDevelopmentOnly 的配置,用于仅在开发时以及编写和运行测试时才需要、且不应打包到可执行 jar 和 war 文件中的依赖项。spring-doc.cadn.net.cn

  10. 创建一个名为 productionRuntimeClasspath 的配置。它等同于 runtimeClasspath 减去仅出现在 developmentOnlytestDevelopmentOnly 配置中的任何依赖项。spring-doc.cadn.net.cn

  11. 配置任何未设置编码的 JavaCompile 任务以使用 UTF-8spring-doc.cadn.net.cn

  12. 配置任何 JavaCompile 任务以使用 -parameters 编译器参数。spring-doc.cadn.net.cn

响应 Kotlin 插件

当应用 Kotlin 的 Gradle 插件 到一个项目时,Spring Boot 插件:spring-doc.cadn.net.cn

  1. 将 Spring Boot 依赖管理中使用的 Kotlin 版本与插件版本对齐。 这是通过将 kotlin.version 属性设置为与 Kotlin 插件版本匹配的值来实现的。spring-doc.cadn.net.cn

  2. 配置任何 KotlinCompile 任务以使用 -java-parameters 编译器参数。spring-doc.cadn.net.cn

对 War 插件的响应

当 Gradle 的 war 插件 应用于项目时,Spring Boot 插件:spring-doc.cadn.net.cn

  1. 创建一个名为 bootWarBootWar 任务,该任务将为项目创建一个可执行的、包含所有依赖的 war 文件。 除了标准打包之外,providedRuntime 配置中的所有内容都将打包到 WEB-INF/lib-provided 中。spring-doc.cadn.net.cn

  2. 配置 assemble 任务以依赖于 bootWar 任务。spring-doc.cadn.net.cn

  3. 配置 war 任务使用 plain 作为其归档分类器的约定。spring-doc.cadn.net.cn

  4. 配置 bootArchives 以包含由 bootWar 任务生成的构件。spring-doc.cadn.net.cn

响应依赖管理插件

当将 io.spring.dependency-management 插件 应用于项目时,Spring Boot 插件会自动导入 spring-boot-dependencies bom。spring-doc.cadn.net.cn

响应 Application 插件

当 Gradle 的 application 插件 应用于项目时,Spring Boot 插件:spring-doc.cadn.net.cn

  1. 创建一个名为CreateStartScripts的任务,该任务将创建在bootStartScripts配置中使用bootArchives启动工件的脚本。 该任务被配置为使用java -jar属性作为其applicationDefaultJvmArgs属性的约定。spring-doc.cadn.net.cn

  2. 创建一个名为 boot 的新分发包,并配置其 lib 目录中包含 bootArchives 配置中的构件,bin 目录中包含启动脚本。spring-doc.cadn.net.cn

  3. 配置 bootRun 任务,使其使用 mainClassName 属性作为其 main 属性的约定。spring-doc.cadn.net.cn

  4. 配置 bootRunbootTestRun 任务,使其使用 applicationDefaultJvmArgs 属性作为其 jvmArgs 属性的约定。spring-doc.cadn.net.cn

  5. 配置 bootJar 任务,以使用 mainClassName 属性作为其清单中 Start-Class 条目的约定。spring-doc.cadn.net.cn

  6. 配置 bootWar 任务,以使用 mainClassName 属性作为其清单中 Start-Class 条目的约定。spring-doc.cadn.net.cn

响应 GraalVM Native Image 插件

当将 GraalVM Native Image 插件 应用于项目时,Spring Boot 插件:spring-doc.cadn.net.cn

  1. 应用 org.springframework.boot.aot 插件,该插件:spring-doc.cadn.net.cn

    1. 注册 aotaotTest 源集。spring-doc.cadn.net.cn

    2. 注册一个名为processAotProcessAot任务,该任务将为应用程序在aot源集生成AOT优化的源代码。spring-doc.cadn.net.cn

    3. 配置 aot 源集的 Java 编译和处理资源任务,使其依赖于 processAotspring-doc.cadn.net.cn

    4. 注册一个名为ProcessTestAot的任务,该任务将为应用程序的测试生成AOT优化的源代码,位于processTestAot源集。spring-doc.cadn.net.cn

    5. 配置 aotTest 源集的 Java 编译和处理资源任务,使其依赖于 processTestAotspring-doc.cadn.net.cn

  2. aot 源集的输出添加到 main GraalVM 原生二进制文件的类路径中。spring-doc.cadn.net.cn

  3. aotTest 源集的输出添加到 test GraalVM 原生二进制文件的类路径中。spring-doc.cadn.net.cn

  4. 配置 GraalVM 扩展以禁用工具链检测。spring-doc.cadn.net.cn

  5. 配置 bootJar 任务,以将 collectReachabilityMetadata 任务生成的可达性元数据包含在其 jar 文件中。spring-doc.cadn.net.cn

  6. 配置 bootJar 任务以添加 Spring-Boot-Native-Processed: true 清单条目。spring-doc.cadn.net.cn

响应 CycloneDX 插件

当应用 CycloneDX 插件 时,Spring Boot 插件:spring-doc.cadn.net.cn

  1. 配置 cyclonedxBom 任务为:spring-doc.cadn.net.cn

    1. 使用 application 项目类型。spring-doc.cadn.net.cn

    2. 将JSON格式的SBOM输出到application.cdx.json文件。spring-doc.cadn.net.cn

    3. 禁用XML格式的SBOM。spring-doc.cadn.net.cn

    4. 禁用完整的许可证文本。spring-doc.cadn.net.cn

  2. 将 SBOM 添加到生成的 jar 或 war 文件中的 META-INF/sbom 下。spring-doc.cadn.net.cn

  3. Sbom-FormatSbom-Location 添加到 jar 或 war 文件的清单中。spring-doc.cadn.net.cn