对其他插件做出反应

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

对 Java 插件做出反应

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

  1. 创建一个名为 的 BootJar 任务,该任务将为项目创建一个可执行的 uber jar。 jar 将包含主源集的运行时 Classpath 上的所有内容;类打包在 Jar 中bootJarBOOT-INF/classesBOOT-INF/libspring-doc.cn

  2. 将任务配置为依赖于任务。assemblebootJarspring-doc.cn

  3. 配置任务以用作其档案分类器的约定。jarplainspring-doc.cn

  4. 创建一个名为 BootBuildImage 的任务,该任务将使用 buildpack 创建 OCI 映像。bootBuildImagespring-doc.cn

  5. 创建一个名为 的 BootRun 任务,该任务可用于使用源集运行应用程序,以查找其 main 方法并提供其运行时类路径。bootRunmainspring-doc.cn

  6. 创建一个名为 的 'BootRun' 任务,该任务可用于使用源集运行应用程序,以查找其 main 方法并提供其运行时类路径。bootTestRuntestspring-doc.cn

  7. 创建一个名为 的配置,该配置包含任务生成的构件。bootArchivesbootJarspring-doc.cn

  8. 为仅在开发时需要的依赖项(例如 Spring Boot 的 Devtools)创建命名的配置,并且不应将其打包在可执行 jar 和 wars 中。developmentOnlyspring-doc.cn

  9. 为仅在开发时以及编写和运行测试时需要的依赖项创建命名的配置,并且不应将其打包在可执行 jar 和 wars 中。testAndDevelopmentOnlyspring-doc.cn

  10. 创建名为 的配置。它相当于减去仅出现在 or 配置中的任何依赖项。productionRuntimeClasspathruntimeClasspathdevelopmentOnlytestDevelopmentOnlyspring-doc.cn

  11. 将未配置编码的任何任务配置为使用 。JavaCompileUTF-8spring-doc.cn

  12. 将任何任务配置为使用 compiler 参数。JavaCompile-parametersspring-doc.cn

对 Kotlin 插件做出反应

Kotlin 的 Gradle 插件应用于项目时,Spring Boot 插件会:spring-doc.cn

  1. 将 Spring Boot 依赖项管理中使用的 Kotlin 版本与插件版本保持一致。 这是通过使用与 Kotlin 插件版本匹配的值设置属性来实现的。kotlin.versionspring-doc.cn

  2. 将任何任务配置为使用 compiler 参数。KotlinCompile-java-parametersspring-doc.cn

对 War 插件的反应

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

  1. 创建一个名为 的 BootWar 任务,该任务将为项目创建一个可执行的 fat war。 除了标准打包之外,配置中的所有内容都将打包在 中。bootWarprovidedRuntimeWEB-INF/lib-providedspring-doc.cn

  2. 将任务配置为依赖于任务。assemblebootWarspring-doc.cn

  3. 配置任务以用作其档案分类器的约定。warplainspring-doc.cn

  4. 配置配置以包含任务生成的构件。bootArchivesbootWarspring-doc.cn

对 Dependency Management 插件做出反应

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

对应用程序插件做出反应

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

  1. 创建一个名为 的任务,该任务将创建使用 在配置中启动构件的脚本。 该任务配置为使用该属性作为其属性的约定。CreateStartScriptsbootStartScriptsbootArchivesjava -jarapplicationDefaultJvmArgsdefaultJvmOptsspring-doc.cn

  2. 创建一个名为 的新分发,并将其配置为在其目录中的配置中包含构件,在其目录中包含启动脚本。bootbootArchiveslibbinspring-doc.cn

  3. 将任务配置为使用该属性作为其属性的约定。bootRunmainClassNamemainspring-doc.cn

  4. 将 和 tasks 配置为使用该属性作为其属性的约定。bootRunbootTestRunapplicationDefaultJvmArgsjvmArgsspring-doc.cn

  5. 将任务配置为使用该属性作为其清单中条目的约定。bootJarmainClassNameStart-Classspring-doc.cn

  6. 将任务配置为使用该属性作为其清单中条目的约定。bootWarmainClassNameStart-Classspring-doc.cn

对 GraalVM Native Image 插件做出反应

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

  1. 应用以下插件:org.springframework.boot.aotspring-doc.cn

    1. 寄存器和源集。aotaotTestspring-doc.cn

    2. 注册一个名为的任务,该任务将为源集中的应用程序生成 AOT 优化源。ProcessAotprocessAotaotspring-doc.cn

    3. 将源集的 Java 编译和进程资源任务配置为 depends on。aotprocessAotspring-doc.cn

    4. 注册一个名为该任务的任务,该任务将为源集中的应用程序测试生成 AOT 优化源。ProcessTestAotprocessTestAotaotTestspring-doc.cn

    5. 将源集的 Java 编译和进程资源任务配置为 depends on。aotTestprocessTestAotspring-doc.cn

  2. 将源集的输出添加到 GraalVM 原生二进制文件的 Classpath 中。aotmainspring-doc.cn

  3. 将源集的输出添加到 GraalVM 原生二进制文件的 Classpath 中。aotTesttestspring-doc.cn

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

  5. 将每个 GraalVM 原生二进制文件配置为需要 GraalVM 22.3 或更高版本。spring-doc.cn

  6. 将任务配置为将任务生成的可访问性元数据包含在其 jar 中。bootJarcollectReachabilityMetadataspring-doc.cn

  7. 配置任务以添加清单条目。bootJarSpring-Boot-Native-Processed: truespring-doc.cn

对 CycloneDX 插件的反应

CycloneDX 插件应用于项目时,Spring Boot 插件:spring-doc.cn

  1. 将任务配置为使用项目类型,并将 SBOM 输出到 JSON 格式的文件中,而不带完整的许可证文本。cyclonedxBomapplicationapplication.cdxspring-doc.cn

  2. 在生成的 jar 或 war 文件中添加 SBOM。META-INF/sbomspring-doc.cn

  3. 将 and 添加到 jar 或 war 文件的清单中。Sbom-FormatSbom-Locationspring-doc.cn