搭配 JVM 的預先處理
使用 AOT 產生的初始化程式碼執行您的應用程式,對於啟動時間很有幫助。首先,您需要確保您正在建置的 jar 包含 AOT 產生的程式碼。
CDS 和 AOT 可以結合使用,以進一步縮短啟動時間。 |
對於 Maven 來說,這表示您應該使用 -Pnative
進行建置,以啟動 native
設定檔
$ mvn -Pnative package
對於 Gradle,您需要確保您的建置包含 org.springframework.boot.aot
外掛程式。
當 JAR 建置完成後,請執行它,並將 spring.aot.enabled
系統屬性設定為 true
。例如
$ java -Dspring.aot.enabled=true -jar myapplication.jar
........ Starting AOT-processed MyApplication ...
請注意,使用預先處理有一些缺點。它暗示了以下限制
-
類別路徑在建置時已固定且完全定義
-
應用程式中定義的 beans 無法在執行時期變更,這表示
-
Spring
@Profile
註解和特定設定檔的組態有其限制。 -
如果 bean 是在建立時變更的屬性則不受支援 (例如,
@ConditionalOnProperty
和.enable
屬性)。
-
若要深入瞭解預先處理,請參閱瞭解 Spring 預先處理章節。