響應其他外掛
當應用其他外掛時,Spring Boot 外掛會透過對專案配置進行各種更改來做出響應。本節描述了這些更改。
響應 Java 外掛
當 Gradle 的 java
外掛應用於專案時,Spring Boot 外掛會
-
建立一個名為
bootJar
的BootJar
任務,該任務將為專案建立一個可執行的 uber jar。該 jar 將包含主源集的執行時 classpath 中的所有內容;類被打包在BOOT-INF/classes
中,jar 被打包在BOOT-INF/lib
中。 -
將
assemble
任務配置為依賴於bootJar
任務。 -
將
jar
任務配置為使用plain
作為其 archive classifier 的約定。 -
建立一個名為
bootBuildImage
的BootBuildImage
任務,該任務將使用 buildpack 建立 OCI 映象。 -
建立一個名為
bootRun
的BootRun
任務,可用於使用main
源集執行你的應用,以查詢其 main 方法並提供其執行時 classpath。 -
建立一個名為
bootTestRun
的BootRun
任務,可用於使用test
源集執行你的應用,以查詢其 main 方法並提供其執行時 classpath。 -
建立一個名為
bootArchives
的配置,其中包含bootJar
任務生成的 artifact。 -
建立一個名為
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。
響應 Application 外掛
當 Gradle 的 application
外掛應用於專案時,Spring Boot 外掛會
-
建立一個名為
bootStartScripts
的CreateStartScripts
任務,該任務將建立用於使用java -jar
啟動bootArchives
配置中 artifact 的指令碼。該任務配置為使用applicationDefaultJvmArgs
屬性作為其defaultJvmOpts
屬性的約定。 -
建立一個名為
boot
的新 distribution,並配置它包含bootArchives
配置中的 artifact 在其lib
目錄中,以及啟動指令碼在其bin
目錄中。 -
將
bootRun
任務配置為使用mainClassName
屬性作為其main
屬性的約定。 -
將
bootRun
和bootTestRun
任務配置為使用applicationDefaultJvmArgs
屬性作為其jvmArgs
屬性的約定。 -
將
bootJar
任務配置為使用mainClassName
屬性作為其 manifest 中Start-Class
條目的約定。 -
將
bootWar
任務配置為使用mainClassName
屬性作為其 manifest 中Start-Class
條目的約定。
響應 GraalVM Native Image 外掛
當 GraalVM Native Image 外掛應用於專案時,Spring Boot 外掛會
-
應用
org.springframework.boot.aot
外掛,該外掛-
註冊
aot
和aotTest
源集。 -
註冊一個名為
processAot
的ProcessAot
任務,該任務將在aot
源集中為應用生成 AOT 最佳化過的原始碼。 -
將
aot
源集的 Java 編譯和處理資源任務配置為依賴於processAot
。 -
註冊一個名為
processTestAot
的ProcessTestAot
任務,該任務將在aotTest
源集中為應用的測試生成 AOT 最佳化過的原始碼。 -
將
aotTest
源集的 Java 編譯和處理資源任務配置為依賴於processTestAot
。
-
-
將
aot
源集的輸出新增到main
GraalVM native 二進位制檔案的 classpath 中。 -
將
aotTest
源集的輸出新增到test
GraalVM native 二進位制檔案的 classpath 中。 -
配置 GraalVM 擴充套件以停用 Toolchain 檢測。
-
配置每個 GraalVM native 二進位制檔案需要 GraalVM 22.3 或更高版本。
-
將
bootJar
任務配置為在其 jar 中包含由collectReachabilityMetadata
任務生成的 reachability metadata。 -
將
bootJar
任務配置為新增Spring-Boot-Native-Processed: true
manifest 條目。
響應 CycloneDX 外掛
當 CycloneDX 外掛應用於專案時,Spring Boot 外掛會
-
將
cyclonedxBom
任務配置為使用application
專案型別,並將 SBOM 輸出到application.cdx
檔案,格式為 JSON,不包含完整的許可證文字。 -
在生成的 jar 或 war 檔案中的
META-INF/sbom
下新增 SBOM。 -
將
Sbom-Format
和Sbom-Location
新增到 jar 或 war 檔案的 manifest 中。