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: コードエディターでターミナルを開く

  1. Oracle Cloud コンソールにログインしてコードエディターを起動する.
  2. ターミナルメニューから新しいターミナルをクリックして、コードエディターでターミナルを開く。

ステップ 2: GraalVM JDK をデフォルトの JDK として選択する

  1. csruntimectl java list コマンドを使用して、インストールされている JDK を一覧表示する。
     csruntimectl java list
    

    出力には、Cloud Shell にプリインストールされた JDK が、Oracle GraalVM for JDK 17、Oracle JDK 11、Oracle JDK 8 として表示されます。アスタリスクでマークされている JDK が現在の JDK です。

  2. Oracle GraalVM for JDK 17 を現在の JDK として選択する
     csruntimectl java set graalvmjdk-17
    

    確認メッセージ「現在の管理対象 java バージョンは graalvmjdk-17 に設定されました」が表示されます。

  3. ここで、環境変数 PATHJAVA_HOME の値、および javanative-image ツールのバージョンを確認します
     echo $JAVA_HOME
    
     echo $PATH
    
     java -version
    
     native-image --version
    

ステップ 3: Java プロジェクトを設定して実行する

  1. デモリポジトリを複製して、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/
    

    コードエディターでサンプルコードを表示または編集できるようになりました。

  2. サンプルアプリケーションを JAR 実行ファイルにパッケージ化します
     mvn clean package
    
  3. JAR ファイルを実行する
     java -jar target/my-app-1.0-SNAPSHOT.jar
    

    「Hello World!」と出力します。

ステップ 4: ネイティブ実行可能ファイルを作成して実行する

この Java アプリケーションはApache Maven を使用してネイティブ実行可能ファイルを作成するためのサポートを追加するGraalVM ネイティブイメージ用の Maven プラグインを組み込みます。テスト用に、高速ビルドモードを最初に有効にしてから無効にして、ネイティブ実行可能ファイルを作成します。

高速ビルドモードの有効化

  1. 高速ビルドモードを有効にするには、pom.xml の次の行のコメントを解除します
     <quickBuild>true</quickBuild>
    
  2. native Maven プロファイルを使用してネイティブ実行可能ファイルを作成する
     mvn clean -Pnative -DskipTests package
    

    これにより、target ディレクトリに Linux 用のネイティブ実行可能ファイル(my-app という名前)が生成されます。

  3. アプリのネイティブ実行可能ファイルをバックグラウンドで実行する
     ./target/my-app
    

高速ビルドモードの無効化

  1. 高速ビルドモードを無効にするには、pom.xml の次の行をコメントアウトします
     <!-- <quickBuild>true</quickBuild> -->
    
  2. ネイティブ実行可能ファイルをもう一度作成する
     mvn clean -Pnative -DskipTests package
    

    これにより、target ディレクトリにネイティブ実行可能ファイル(my-app)が生成され、前のものが置き換えられます。高速ビルドモードによりネイティブ実行可能ファイルの生成にかかる時間が短縮され、標準的な開発サイクル(コンパイル、テスト、デバッグ)でネイティブイメージを使用しやすくなることがわかります。ただし、生成される実行可能ファイルのサイズは大きくなり、ピークパフォーマンスは低下します。高速ビルドモードは開発目的でのみ使用することをお勧めします。

  3. ネイティブ実行可能ファイルを実行する
     ./target/my-app
    

おめでとうございます!OCI コードエディターで Oracle GraalVM を使用して、Oracle Cloud コンソールとローカル開発環境を切り替えることなくネイティブ実行可能ファイルを作成して実行できました。コードエディターを使用すると、素早くコーディングタスクを実行し、OCI コンソールから直接アプリケーションを実行できます。