對其他外掛程式的反應
當另一個外掛程式套用時,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
來源集執行您的應用程式,以找到其主要方法並提供其執行時期類別路徑。 -
建立一個名為 'BootRun` 的
BootRun
任務,名為bootTestRun
,該任務可用於使用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 外掛程式會
-
建立一個名為
bootStartScripts
的CreateStartScripts
任務,該任務將建立使用java -jar
啟動bootArchives
組態中成品的腳本。該任務設定為使用applicationDefaultJvmArgs
屬性作為其defaultJvmOpts
屬性的慣例。 -
建立一個名為
boot
的新發行版本,並將其設定為在其lib
目錄中包含bootArchives
組態中的成品,並在其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
來源集中應用程式產生 AOT 優化來源。 -
設定
aot
來源集的 Java 編譯和處理資源任務以依賴processAot
。 -
註冊一個名為
processTestAot
的ProcessTestAot
任務,該任務將為aotTest
來源集中應用程式的測試產生 AOT 優化來源。 -
設定
aotTest
來源集的 Java 編譯和處理資源任務以依賴processTestAot
。
-
-
將
aot
來源集的輸出新增至main
GraalVM 原生二進位檔的類別路徑。 -
將
aotTest
來源集的輸出新增至test
GraalVM 原生二進位檔的類別路徑。 -
設定 GraalVM 擴充功能以停用 Toolchain 偵測。
-
設定每個 GraalVM 原生二進位檔以要求 GraalVM 22.3 或更高版本。
-
設定
bootJar
任務以在其 jar 檔中包含collectReachabilityMetadata
任務產生的可達性元數據。 -
設定
bootBuildImage
任務以使用paketobuildpacks/builder-jammy-tiny:latest
作為其建置器,並在其環境中將BP_NATIVE_IMAGE
設定為true
。
對 CycloneDX 外掛程式的反應
當 CycloneDX 外掛程式套用至專案時,Spring Boot 外掛程式會
-
設定
cyclonedxBom
任務以使用application
專案類型,並以 JSON 格式將 SBOM 輸出到application.cdx
檔案,且不包含完整的授權文字。 -
將 SBOM 新增至產生之 jar 檔或 war 檔中的
META-INF/sbom
下。 -
將
Sbom-Format
和Sbom-Location
新增至 jar 檔或 war 檔的 manifest 中。