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: コード・エディタで端末を開く

  1. Oracle Cloudコンソールにログインし、コード・エディタを起動します
  2. コード・エディタで、「端末」メニューから「新規端末」をクリックして、端末を開きます。

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

  1. csruntimectl java listコマンドを使用して、インストールされたJDKをリストします。

     csruntimectl java list
    

    出力には、クラウド・シェルに事前インストールされているJDK (GraalVM for JDK 17、Oracle JDK 11、Oracle JDK 8)がリストされます。アスタリスクでマークされたJDKは、現在のJDKです。

  2. 現在のJDKとして「GraalVM for JDK 17」を選択します:

     csruntimectl java set graalvmeejdk-17
    

    確認メッセージがThe current managed java version is set to graalvmeejdk-17と出力されます。

  3. ここで、環境変数PATHおよびJAVA_HOMEの値と、javaのバージョン、native-imageジェネレータを確認します:

     echo $JAVA_HOME
    
     echo $PATH
    
     java -version
    
     native-image --version
    

ステップ3: Javaプロジェクトの設定および実行

  1. デモ・リポジトリをクローニングし、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/
    

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

  2. サンプル・アプリケーションを実行可能なJARにパッケージ化します:

     mvn clean package
    
  3. JARを実行します:

     java -jar target/my-app-1.0-SNAPSHOT.jar 
    

    "Hello World!"と出力されます。

ステップ4: ネイティブ実行可能ファイルのビルドおよび実行

このJavaアプリケーションには、Apache Mavenを使用してネイティブ実行可能ファイルをビルドするためのサポートを追加するGraalVMネイティブ・イメージ用のMavenプラグインが組み込まれています。For testing purposes, build a native executable with the quick build mode first enabled and then disabled.

クイック・ビルド・モード有効

  1. native Mavenプロファイルを使用して、ネイティブ実行可能ファイルをビルドしますこの実行ではクイック・ビルド・モードが有効です。pom.xmlのプラグイン構成の<buildArg>-Ob</buildArg>オプションを確認してください。

     mvn clean -Pnative -DskipTests package
    

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

  2. アプリケーション・ネイティブ実行可能ファイルをバックグラウンドで実行します:

     ./target/my-app
    

クイック・ビルド・モード無効

  1. クイック・ビルド・モードを無効にするには、pom.xml内のこの行を次のようにコメントアウトします:

     <!-- <buildArg>-Ob</buildArg> -->
    
  2. ネイティブ実行可能ファイルを再度ビルドします:

     mvn clean -Pnative -DskipTests package
    

    これにより、ネイティブ実行可能ファイルmy-apptargetディレクトリに生成され、前の実行可能ファイルが置き換えられます。クイック・ビルド・モードによって、ネイティブ実行可能ファイルの生成に必要な時間が短縮され、一般的な開発サイクル(コンパイル、テストおよびデバッグ)でネイティブ・イメージを簡単に使用できるようになったことにお気づきでしょう。ただし、生成された実行可能ファイルのサイズが大きくなり、ピーク・パフォーマンスが低下します。クイック・ビルド・モードは、開発目的でのみ推奨されます。

  3. ネイティブ実行可能ファイルを実行します:

     ./target/my-app
    

お疲れ様でした。Oracle Cloudコンソールとローカル開発環境を切り替える必要なく、OCI Code EditorでOracle GraalVMを使用してネイティブ実行可能ファイルを正常にビルドおよび実行しました。コード・エディタを使用すると、迅速なコーディング・タスクが実現し、OCIコンソールから直接アプリケーションを実行できます。