当应用另一个插件时, Spring Boot 插件会通过对项目的配置进行各种更改来做出反应。 本节介绍这些更改。
对 Java 插件做出反应
当 Gradle 的 java 插件应用于项目时,Spring Boot 插件:
-
创建一个名为
的 BootJar任务,该任务将为项目创建一个可执行的 uber jar。 jar 将包含主源集的运行时 Classpath 上的所有内容;类打包在 Jar 中bootJarBOOT-INF/classesBOOT-INF/lib -
将任务配置为依赖于任务。
assemblebootJar -
配置任务以用作其档案分类器的约定。
jarplain -
创建一个名为
BootBuildImage的任务,该任务将使用 buildpack 创建 OCI 映像。bootBuildImage -
创建一个名为
的 BootRun任务,该任务可用于使用源集运行应用程序,以查找其 main 方法并提供其运行时类路径。bootRunmain -
创建一个名为 的 'BootRun' 任务,该任务可用于使用源集运行应用程序,以查找其 main 方法并提供其运行时类路径。
bootTestRuntest -
创建一个名为 的配置,该配置包含任务生成的构件。
bootArchivesbootJar -
为仅在开发时需要的依赖项(例如 Spring Boot 的 Devtools)创建命名的配置,并且不应将其打包在可执行 jar 和 wars 中。
developmentOnly -
为仅在开发时以及编写和运行测试时需要的依赖项创建命名的配置,并且不应将其打包在可执行 jar 和 wars 中。
testAndDevelopmentOnly -
创建名为 的配置。它相当于减去仅出现在 or 配置中的任何依赖项。
productionRuntimeClasspathruntimeClasspathdevelopmentOnlytestDevelopmentOnly -
将未配置编码的任何任务配置为使用 。
JavaCompileUTF-8 -
将任何任务配置为使用 compiler 参数。
JavaCompile-parameters
对 Kotlin 插件做出反应
将 Kotlin 的 Gradle 插件应用于项目时,Spring Boot 插件会:
-
将 Spring Boot 依赖项管理中使用的 Kotlin 版本与插件版本保持一致。 这是通过使用与 Kotlin 插件版本匹配的值设置属性来实现的。
kotlin.version -
将任何任务配置为使用 compiler 参数。
KotlinCompile-java-parameters
对 Dependency Management 插件做出反应
当 io.spring.dependency-management 插件应用于项目时, Spring Boot 插件将自动导入 bom。spring-boot-dependencies
对应用程序插件做出反应
当 Gradle 的应用程序插件应用于项目时,Spring Boot 插件:
-
创建一个名为 的任务,该任务将创建使用 在配置中启动构件的脚本。 该任务配置为使用该属性作为其属性的约定。
CreateStartScriptsbootStartScriptsbootArchivesjava -jarapplicationDefaultJvmArgsdefaultJvmOpts -
创建一个名为 的新分发,并将其配置为在其目录中的配置中包含构件,在其目录中包含启动脚本。
bootbootArchiveslibbin -
将任务配置为使用该属性作为其属性的约定。
bootRunmainClassNamemain -
将 和 tasks 配置为使用该属性作为其属性的约定。
bootRunbootTestRunapplicationDefaultJvmArgsjvmArgs -
将任务配置为使用该属性作为其清单中条目的约定。
bootJarmainClassNameStart-Class -
将任务配置为使用该属性作为其清单中条目的约定。
bootWarmainClassNameStart-Class
对 GraalVM Native Image 插件做出反应
将 GraalVM Native Image 插件应用于项目时,Spring Boot 插件:
-
应用以下插件:
org.springframework.boot.aot-
寄存器和源集。
aotaotTest -
注册一个名为的任务,该任务将为源集中的应用程序生成 AOT 优化源。
ProcessAotprocessAotaot -
将源集的 Java 编译和进程资源任务配置为 depends on。
aotprocessAot -
注册一个名为该任务的任务,该任务将为源集中的应用程序测试生成 AOT 优化源。
ProcessTestAotprocessTestAotaotTest -
将源集的 Java 编译和进程资源任务配置为 depends on。
aotTestprocessTestAot
-
-
将源集的输出添加到 GraalVM 原生二进制文件的 Classpath 中。
aotmain -
将源集的输出添加到 GraalVM 原生二进制文件的 Classpath 中。
aotTesttest -
配置 GraalVM 扩展以禁用工具链检测。
-
将每个 GraalVM 原生二进制文件配置为需要 GraalVM 22.3 或更高版本。
-
将任务配置为将任务生成的可访问性元数据包含在其 jar 中。
bootJarcollectReachabilityMetadata -
将任务配置为用作其生成器,并在其环境中设置为 。
bootBuildImagepaketobuildpacks/builder-jammy-tiny:latestBP_NATIVE_IMAGEtrue