在 OCI Cloud Shell 中使用 Oracle GraalVM
本指南說明如何在 Oracle Cloud Infrastructure (OCI) Cloud Shell 中開始使用 Oracle GraalVM。
OCI Cloud Shell 是一個可從 Oracle Cloud Console 存取的瀏覽器終端機。它提供對 Linux shell 的存取,其中包含預先驗證的 OCI 命令列介面 (CLI)、預先安裝的開發人員工具,並提供 5GB 的儲存空間。
Cloud Shell 中已預先安裝適用於 JDK 17 的 Oracle GraalVM,因此您不必安裝和設定開發機器。
注意:Oracle GraalVM 的授權和支援已包含在 Oracle Cloud Infrastructure 訂閱中,無需額外費用。
在 Cloud Shell 中使用 Oracle GraalVM 的步驟
Cloud Shell 具有多個預先安裝的 JDK,包括 Oracle GraalVM JDK。
- 使用
csruntimectl java list
命令列出已安裝的 JDK。csruntimectl java list
輸出會列出 Cloud Shell 中預先安裝的 JDK:適用於 JDK 17 的 Oracle GraalVM、Oracle JDK 11 和 Oracle JDK 8。標有星號的 JDK 是目前的 JDK。
- 選取適用於 JDK 17 的 Oracle GraalVM 作為目前的 JDK
csruntimectl java set graalvmjdk-17
您將看到列印出的確認訊息:「目前的受管理 java 版本設定為 graalvmjdk-17」。
- 現在確認環境變數
PATH
和JAVA_HOME
的值,以及java
和native-image
工具的版本echo $JAVA_HOME
echo $PATH
java -version
native-image --version
您已準備好在 Cloud Shell 中使用 Oracle GraalVM JDK 執行 Java 應用程式。
執行 Java 應用程式
此範例是一個基於 REST 的最小應用程式,使用 Maven 建構於 Spring Boot 之上。pom.xml 檔案是使用 Spring Initializr 產生的,並加入了 Spring Native Tools 作為一項功能。Spring AOT 外掛程式 會將 Spring 應用程式預先轉換為原生可執行檔。
- 複製 demos 儲存庫並變更至應用程式根目錄
git clone https://github.com/graalvm/graalvm-demos.git cd graalvm-demos/spring-native-image
- 使用 Maven 建構應用程式 (Apache Maven 也預先安裝在 Cloud Shell 中)
mvn clean package
這會產生一個可執行的 JAR 檔案,其中包含應用程式的所有相依性以及正確設定的
MANIFEST
檔案。 - 執行 Java 應用程式
java -jar ./target/benchmark-jibber-0.0.1-SNAPSHOT.jar &
呼叫其 REST 端點
curl http://localhost:8080/jibber
您應該會看到一些無意義的詩句列印出來。
將應用程式帶到前景
fg
按下 Ctrl+c 來停止應用程式。
- 接下來,使用
native
Maven 設定檔 為此 Spring Boot 應用程式建構原生可執行檔。mvn -Pnative native:compile
這會在 target 目錄中產生一個名為 benchmark-jibber 的 Linux 原生可執行檔。
- 使用下列命令執行原生可執行檔
./target/benchmark-jibber &
呼叫其端點進行測試
curl http://localhost:8080/jibber
您應該會再次看到一些無意義的詩句列印出來。
將應用程式帶到前景
fg
按下 Ctrl+c 來停止應用程式。
恭喜!您已成功使用 Oracle GraalVM JDK 和 Native Image 在 Cloud Shell 中建構和測試 Spring Boot REST 應用程式。
因此,您可以使用 OCI Cloud Shell 中的 Oracle GraalVM 來建構和測試具有 Micronaut、Spring 和其他微服務架構的簡單 Java 應用程式。