OCI コードエディターで Oracle GraalVM を利用する
このガイドでは、Oracle Cloud Infrastructure(OCI)コードエディターで Oracle GraalVM を使用する方法を紹介します。
OCI コードエディターは、Oracle Cloud コンソールとローカル開発環境を切り替えることなくコードを編集できる、豊富なコンソール内編集環境を提供します。コードエディターを使用すると、OCI サービスのコードを OCI コンソールから直接編集およびデプロイできます。
Oracle GraalVM for JDK 17 は Cloud Shell にプリインストールされているため、開発マシンをインストールして構成する必要はありません。Cloud Shell とコードエディターとの統合により、直接アクセスできます。
注: Oracle GraalVM のライセンスとサポートは、Oracle Cloud Infrastructure サブスクリプションに含まれており、追加費用はかかりません。
OCI コードエディターで Java アプリケーションを作成して実行する
ステップ 1: コードエディターでターミナルを開く
- Oracle Cloud コンソールにログインしてコードエディターを起動する.
- ターミナルメニューから新しいターミナルをクリックして、コードエディターでターミナルを開く。
ステップ 2: GraalVM JDK をデフォルトの JDK として選択する
csruntimectl java list
コマンドを使用して、インストールされている JDK を一覧表示する。csruntimectl java list
出力には、Cloud Shell にプリインストールされた JDK が、Oracle GraalVM for JDK 17、Oracle JDK 11、Oracle JDK 8 として表示されます。アスタリスクでマークされている JDK が現在の JDK です。
- Oracle GraalVM for JDK 17 を現在の 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
ステップ 3: Java プロジェクトを設定して実行する
- デモリポジトリを複製して、OCI コードエディターで開く。これを実行するには、次のコマンドを 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 プラグインを組み込みます。テスト用に、高速ビルドモードを最初に有効にしてから無効にして、ネイティブ実行可能ファイルを作成します。
高速ビルドモードの有効化
- 高速ビルドモードを有効にするには、pom.xml の次の行のコメントを解除します
<quickBuild>true</quickBuild>
native
Maven プロファイルを使用してネイティブ実行可能ファイルを作成するmvn clean -Pnative -DskipTests package
これにより、target ディレクトリに Linux 用のネイティブ実行可能ファイル(my-app という名前)が生成されます。
- アプリのネイティブ実行可能ファイルをバックグラウンドで実行する
./target/my-app
高速ビルドモードの無効化
- 高速ビルドモードを無効にするには、pom.xml の次の行をコメントアウトします
<!-- <quickBuild>true</quickBuild> -->
- ネイティブ実行可能ファイルをもう一度作成する
mvn clean -Pnative -DskipTests package
これにより、target ディレクトリにネイティブ実行可能ファイル(my-app)が生成され、前のものが置き換えられます。高速ビルドモードによりネイティブ実行可能ファイルの生成にかかる時間が短縮され、標準的な開発サイクル(コンパイル、テスト、デバッグ)でネイティブイメージを使用しやすくなることがわかります。ただし、生成される実行可能ファイルのサイズは大きくなり、ピークパフォーマンスは低下します。高速ビルドモードは開発目的でのみ使用することをお勧めします。
- ネイティブ実行可能ファイルを実行する
./target/my-app
おめでとうございます!OCI コードエディターで Oracle GraalVM を使用して、Oracle Cloud コンソールとローカル開発環境を切り替えることなくネイティブ実行可能ファイルを作成して実行できました。コードエディターを使用すると、素早くコーディングタスクを実行し、OCI コンソールから直接アプリケーションを実行できます。