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: コード・エディタで端末を開く
- OCIコンソールにログインし、コード・エディタを起動します。
-
コード・エディタで新しい端末を開きます。この端末ウィンドウを使用して、次のステップを実行します。
ステップ2: GraalVM JDKをデフォルトのJDKとして選択
-
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です。
-
現在のJDKとしてGraalVM JDK for Java 17を選択します:
csruntimectl java set graalvmeejdk-17
確認メッセージが
The current managed java version is set to graalvmeejdk-17
と出力されます。 - 環境変数
JAVA_HOME
およびPATH
の値と、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アプリケーションにはGraalVMネイティブ・イメージ用のMavenプラグインが組み込まれており、Apache 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
お疲れ様でした。OCIコンソールとローカル開発環境を切り替える必要なく、OCI Code EditorでGraalVM Enterpriseを使用してネイティブ実行可能ファイルをビルドおよび実行することに成功しました。コード・エディタを使用すると、迅速なコーディング・タスクが実現し、OCIコンソールから直接アプリケーションを実行できます。