OCI Code EditorでのGraalVM Enterprise

このガイドでは、Oracle Cloud Infrastructure (OCI) Code EditorでGraalVM Enterprise Editionを開始する方法について説明します。

OCI Code Editorには、OCIコンソールとローカル開発環境を切り替える必要なくコードを編集できる、豊富なコンソール内編集環境が用意されています。コード・エディタを使用すると、OCIサービスのコードをOCIコンソールから直接編集およびデプロイできます。

GraalVM Enterprise JDK 17およびネイティブ・イメージはクラウド・シェルに事前にインストールされているため、開発マシンをインストールして構成する必要はありません。コード・エディタをクラウド・シェルと統合することにより、GraalVM Enterprise JDK 17およびネイティブ・イメージに直接アクセスできます。

ノート: GraalVM Enterpriseは、追加コストなしでOracle Cloud Infrastructure上で使用できます。

OCI Code EditorでのJavaアプリケーションの作成および実行

ステップ1: コード・エディタで端末を開く

  1. OCIコンソールにログインし、コード・エディタを起動します
  2. コード・エディタで新しい端末を開きます。この端末ウィンドウを使用して、次のステップを実行します。

    OCI Code Editor

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

  1. csruntimectl java listコマンドを使用して、インストールされたJDKをリストします。次の出力が表示されるはずです。

     csruntimectl java list
    

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

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

     csruntimectl java set graalvmeejdk-17
    

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

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

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

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

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

    OCI Code Editorで開かれたJavaプロジェクト

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

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

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

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

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

このJavaアプリケーションにはGraalVMネイティブ・イメージ用のMavenプラグインが組み込まれており、Apache Maven™を使用してネイティブ実行可能ファイルをビルドするためのサポートを追加します。テスト目的で、クイック・ビルド・モードを有効および無効にしてネイティブ実行可能ファイルをビルドします。

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

  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
    

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