OCI Code EditorでのOracle GraalVM
このガイドでは、Oracle Cloud Infrastructure (OCI) Code EditorでOracle GraalVMを開始する方法について説明します。
OCI Code Editorには、Oracle Cloudコンソールとローカル開発環境を切り替える必要なくコードを編集できる、豊富なコンソール内編集環境が用意されています。コード・エディタを使用すると、OCIサービスのコードをOCIコンソールから直接編集およびデプロイできます。
Oracle GraalVM JDK 17およびネイティブ・イメージはクラウド・シェルに事前にインストールされているため、インストールして開発マシンを構成する必要はありません。コード・エディタをクラウド・シェルと統合すると、直接アクセスできます。
ノート: Oracle GraalVMライセンスとサポートは、追加コストなしでOracle Cloud Infrastructureサブスクリプションに含まれています。
OCI Code EditorでのJavaアプリケーションの作成および実行
ステップ1: コード・エディタで端末を開く
- Oracle Cloudコンソールにログインし、コード・エディタを起動します。
- コード・エディタで、「端末」メニューから「新規端末」をクリックして、端末を開きます。
ステップ2: GraalVM JDKをデフォルトのJDKとして選択
-
csruntimectl java list
コマンドを使用して、インストールされたJDKをリストします。csruntimectl java list
出力には、クラウド・シェルに事前インストールされているJDK (GraalVM for JDK 17、Oracle JDK 11、Oracle JDK 8)がリストされます。アスタリスクでマークされたJDKは、現在のJDKです。
-
現在のJDKとして「GraalVM for JDK 17」を選択します:
csruntimectl java set graalvmeejdk-17
確認メッセージが
The current managed java version is set to graalvmeejdk-17
と出力されます。 -
ここで、環境変数
PATH
およびJAVA_HOME
の値と、java
のバージョン、native-image
ジェネレータを確認します:echo $JAVA_HOME
echo $PATH
java -version
native-image --version
ステップ3: Javaプロジェクトの設定および実行
-
デモ・リポジトリをクローニングし、OCI Code Editorで開きます。これを行うには、次のコマンドを1つずつ実行します:
git init graalvmee-java-hello-world
cd graalvmee-java-hello-world
git remote add origin https://github.com/oracle-devrel/oci-code-editor-samples.git
git config core.sparsecheckout true
echo "java-samples/graalvmee-java-hello-world/*">>.git/info/sparse-checkout
git pull --depth=1 origin main
cd java-samples/graalvmee-java-hello-world/
コード・エディタでサンプル・コードを表示/編集できるようになりました。
-
サンプル・アプリケーションを実行可能なJARにパッケージ化します:
mvn clean package
-
JARを実行します:
java -jar target/my-app-1.0-SNAPSHOT.jar
"Hello World!"と出力されます。
ステップ4: ネイティブ実行可能ファイルのビルドおよび実行
このJavaアプリケーションには、Apache Mavenを使用してネイティブ実行可能ファイルをビルドするためのサポートを追加するGraalVMネイティブ・イメージ用のMavenプラグインが組み込まれています。テスト目的で、まずクイック・ビルド・モードを有効にしてネイティブ実行可能ファイルをビルドし、次に無効にしてビルドします。
クイック・ビルド・モード有効
-
native
Mavenプロファイルを使用して、ネイティブ実行可能ファイルをビルドしますこの実行ではクイック・ビルド・モードが有効です。pom.xmlのプラグイン構成の<buildArg>-Ob</buildArg>
オプションを確認してください。mvn clean -Pnative -DskipTests package
これにより、targetディレクトリ(my-appという名前)にLinux用のネイティブ実行可能ファイルが生成されます。
-
アプリケーション・ネイティブ実行可能ファイルをバックグラウンドで実行します:
./target/my-app
クイック・ビルド・モード無効
-
クイック・ビルド・モードを無効にするには、pom.xml内のこの行を次のようにコメントアウトします:
<!-- <buildArg>-Ob</buildArg> -->
-
ネイティブ実行可能ファイルを再度ビルドします:
mvn clean -Pnative -DskipTests package
これにより、ネイティブ実行可能ファイルmy-appがtargetディレクトリに生成され、前の実行可能ファイルが置き換えられます。クイック・ビルド・モードによって、ネイティブ実行可能ファイルの生成に必要な時間が短縮され、一般的な開発サイクル(コンパイル、テストおよびデバッグ)でネイティブ・イメージを簡単に使用できるようになったことにお気づきでしょう。ただし、生成された実行可能ファイルのサイズが大きくなり、ピーク・パフォーマンスが低下します。クイック・ビルド・モードは、開発目的でのみ推奨されます。
-
ネイティブ実行可能ファイルを実行します:
./target/my-app
お疲れ様でした。Oracle Cloudコンソールとローカル開発環境を切り替える必要なく、OCI Code EditorでOracle GraalVMを使用してネイティブ実行可能ファイルを正常にビルドおよび実行しました。コード・エディタを使用すると、迅速なコーディング・タスクが実現し、OCIコンソールから直接アプリケーションを実行できます。