GraalVM Tools for Java
- 拡張機能のインストール
- GraalVMインストール・ウィザード
- デフォルトのJavaランタイムの設定
- Javaの開発およびデバッグ
- VisualVMとの統合
- ネイティブ・イメージのサポート
- 拡張機能設定
GraalVM Tools for Java拡張機能は、Visual Studio (VS) Codeまたはローカル(あるいはその両方)でGraalVMインストールとそのコンポーネントを管理する機能を提供します。この拡張機能には、GraalVMインストールおよび構成ウィザードが付属しています。デフォルトのJavaランタイムをGraalVM JDKに簡単に設定できます。このJDKにはジャスト・イン・タイム(Graal)コンパイラとAhead-of-Time(ネイティブ・イメージ)コンパイラの両方が付属しており、VS Codeを快適で便利な統合環境とすることができます。
GraalVM Tools for JavaをGraalVM Tools for Micronautと組み合せると、VS CodeでのMicronautフレームワークのネイティブ・サポートが提供され、Java開発者により多くの可能性が開かれます。
拡張機能のインストール
GraalVM Tools for Java拡張機能をVS Codeにインストールするには、次の手順を実行します:
- アクティビティ・バーの「Extensions」に移動します。
- 検索フィールドでGraalVMを検索します。
- 見つかったら、「Install」をクリックします。このアクションにより、VS Code MarketplaceからGraalVM Tools for Java拡張機能がインストールされます。
- 必要に応じてリロードします。
拡張機能は、Apache NetBeans Language Serverに依存します。(VSコードによってインストールされます。)拡張機能(およびその従属物)がインストールされると、VS Codeによって左側のアクティビティ・バーに「Gr」アイコンが表示されます。
GraalVMインストール・ウィザード
組み込みのインストール・ウィザードを使用すると、VS CodeにGraalVMを簡単にインストールできます。
開始するには、アクティビティ・バーの「Gr」アイコンをクリックします。既存のGraalVMインストールを追加するか(すでにGraalVMを使用している場合)、VS Code内からすぐにダこれをウンロードできます。ダイアログ・ウィンドウに、次のオプションが提示されます:
- Download & Install GraalVM
-
Add Existing GraalVM
「Download & Install GraalVM」アクションを使用すると、環境変数をスムーズに設定できるため、このアクションをお薦めします。
GraalVMをダウンロードしてインストール
GraalVMをダウンロードしてインストールするには、次のステップに従います。
- GraalVMディストリビューション(Oracle GraalVMまたはGraalVM Community Edition)を選択します。
- 最新の安定リリースのいずれか、または最新の開発スナップショット(GraalVM Community Editionを選択した場合)のいずれかのバージョンを選択します。
- 使用可能なJavaバージョンのいずれかを選択します。
- 宛先フォルダを選択します。
インストールはすぐに開始されます。Oracle GraalVMをインストールする場合、インストール・ウィザードはOracleのストレージ・ポイントからパッケージをダウンロードし、進行状況を表示します。GraalVM Community Editionをインストールする場合、ウィザードはGithubからパッケージをダウンロードし、進行状況を表示します。
ノート: このインストール・オプションは、GraalVMの最新バージョンを提供します。古いバージョンをインストールする場合は、このステップに従います。
インストールが完了すると、「オプションのGraalVMコンポーネントのインストール」ウィンドウが開き、追加の言語ランタイムおよびユーティリティ(Java on Truffle、JavaScript、Node.js、LLVMツールチェーン、Pythonなど)をインストールするよう求められます:
確認すると、選択リストに移動します
既存のGraalVMの追加
「Add Existing GraalVM」アクションを使用して、既存のGraalVMインストールを選択します。GraalVMインストールをデフォルトとして設定し、追加のコンポーネントをインストールするように求められます(まだインストールされていない場合)。「Add Existing GraalVM」は、「GRAALVM: INSTALLATIONS」パネルの横にあるアイコンを使用して起動することもできます。
登録された各GraalVMインストールには、その場所と使用可能なすべてのコンポーネントが表示されます。コンポーネントはインストールされているか、ダウンロード可能です。コンポーネント名にカーソルを合せると、インストールするコンテキスト・アクション(プラス・アイコン)または削除するコンテキスト・アクション(バケット・アイコン)が表示されます。登録されたすべてのGraalVMインストールは、「File」→「Preferences」→「Settings」 (macOSの「Code」→「Preferences」→「Settings」)の構成ファイルにリストされます。
このインストール・モデルでは、同時に複数のGraalVMを許可し、VS Codeグローバル・ストレージまたはローカル・ディスクからも不要なGraalVMインストールをすばやく削除できます。
デフォルトJavaランタイムの設定
インストールが完了すると、デフォルトJavaの設定アクションが呼び出されます。
-
新しく追加されたGraalVMをアクティブに設定するには、インストール名の横にあるホーム・アイコンをクリックします。
-
「Configure active GraalVM」ウィンドウで、両方の「Set as JAVA for Terminal」オプション(
JAVA_HOME
とPATH
)を選択します:
または、「View」、「Command Palette」から同じアクションを呼び出すことができます(Linuxの場合は[Ctrl]+[Shift]+[P]
ホット・キーの組合せを使用し、macOSの場合、コマンド・パレットを開くには[Command]+[Shift]+[P]
を使用し、GraalVMを検索します)。他のアクションには、「GraalVM: Active GraalVM Installation」があります。
Javaの開発およびデバッグ
拡張機能と同様にインストールされるApache NetBeans Language Serverは、Java言語サポートを有効にします。
デフォルトで使用可能なJava起動構成がいくつかあります。有効になっている通常の機能に加えて、GraalVM Tools for Javaでは、GraalVMネイティブ・イメージを使用した事前コンパイル、ネイティブ実行可能ファイルのJavaのようなデバッグ、VisualVMとの統合、最後に多言語プログラミング(こちらを参照)がサポートされています。
デフォルトのApache NetBeans Language Serverの代わりにMicrosoftのExtension Pack for Javaを使用できます(開始するには、VS CodeでのJavaに関するページを参照)。VS Codeは、インストールされたMicrosoftのExtension Pack for Javaを検出すると、Apache NetBeans Language Serverを非アクティブ化します。
VisualVMとの統合
GraalVM Tools for Java拡張機能は、VisualVM (オールインワンのJava (およびポリグロット)のモニタリングとトラブルシューティング・ツール)との統合を提供します。VisualVMは、VS Codeに使いやすいビジュアルJavaツールを提供します。
Javaアプリケーションを実行すると、プロセスIDが自動的に検出され、「VISUALVM」ペインに表示されます。再生ボタンをクリックして、VisualVMを開きます:
詳細は、VS Code内からVisualVMの使用を開始する方法の専用ガイドを参照してください。
ネイティブ・イメージのサポート
GraalVM Tools for Java拡張機能により、VS Codeで直接GraalVMネイティブ・イメージを使用して生成されたネイティブ実行可能ファイルを簡単に構成、ビルドおよびデバッグできます。
構成
GraalVM Tools for Java拡張機能では、「Agent」ペインに「NATIVE IMAGE」が提供され、動的機能コールを追跡および登録するプロセスを自動化できるため、VS Codeでネイティブ実行可能ファイルを簡単に構成およびビルドできます。トレース・エージェントは、アプリケーションがJVMで実行されている間に動的機能コールを追跡し、それらのコールをJSON構成ファイルに記録します。
ノート: VS CodeでJavaプロジェクトを開くと、「NATIVE IMAGE」ペインが表示されます。
ノート: ネイティブ・イメージ・エージェントのサポートは試験段階です。
次の項では、Javaアプリケーションのネイティブ実行可能ファイルをビルドし、エージェントをVS Codeに適用する方法について学習します。
ビルド
VS CodeでJavaアプリケーションのネイティブ実行可能ファイルを作成するには、次の手順を実行します:
- launch.jsonファイルを作成します。作成されていない場合は、「create a launch.json file」リンクを使用して、「Run and Debug」アクティビティ・パネルから新しいファイルを作成します。選択を求められたら、「Java 8+ environment」を選択します。編集後にlaunch.jsonファイルを保存します。
-
エージェントを有効にします。左側のサイドバーで「Gr」をクリックし、「NATIVE IMAGE」ペインを展開します。「Agent」を展開し、編集ボタンをクリックして状態を構成します。
ネイティブ・イメージ・エージェントがJavaプロセスから開始されるように、「enabled」を選択します:
ノート: 状態は記憶されません。VS Codeウィンドウを閉じると、「disabled」に戻ります。
- GraalVMランタイムでJavaアプリケーションを実行します。「Run and Debug」アクティビティ・パネルを開き(左側のサイドバーのバグ・アイコンをクリック)、「Launch Java 8+ App」構成を選択し、「Run Without Debugging」をクリックして現在のプロジェクトを開始します。
ノート: 「Start Debugging」アクションをクリックしてプロジェクトを開始しないでください。トレース・エージェントはデバッグ・エージェントと互換性がなく、このような構成の実行は失敗します。
-
生成される構成ファイルの出力フォルダを指定します。実行中、エージェントはJVMとインタフェースして、クラス、メソッド、フィールド、リソースを参照したり、プロキシ・アクセスをリクエストするすべてのコールをインターセプトします。エージェントは、インターセプトされたすべての動的アクセスを含む構成ファイルを生成し、指定した出力フォルダに格納します。プロジェクトを開始するときに、VS Codeによって目的の場所を選択するように求められます。次の中から選択できます。
META-INF/native-image
- 構成ファイルを格納するプロジェクト・ソースのデフォルトの場所/tmp
- 構成ファイルは/tmp/native-image
フォルダに格納されます- カスタム・フォルダ - 構成ファイルは、指定したカスタム・フォルダに格納されます
- 実行中のプロセスへのロードを生成して、より多くのコードを起動し、最適な構成を生成します。
- 実行可能なすべての実行パスが実行されたら、プロセスを終了します。この時点で、トレース・エージェントは収集した構成を、選択した出力フォルダにダンプします。
-
「Terminal」に移動し、「New Terminal」をクリックします。現在の作業フォルダ内のJavaクラス・ファイルからネイティブ実行可能ファイルをビルドするには、次のコマンドを使用します:
native-image [options] class [imagename]
プロジェクトがMavenまたはGradleベースである場合、Javaで記述されたネイティブ実行可能ファイルのビルドおよびテストのサポートを追加するための専用のMavenまたはGradleプラグインがあります。詳細なドキュメントは、次を参照してください:
- Gradleプラグインに関する項
- Mavenプラグインに関する項
Micronautフレームワークを使用してJavaプロジェクトを作成する場合、VS Codeクイック・アクションを使用してMicronautアプリケーションのネイティブ実行可能ファイルを作成できます。方法を学習するにはこちらを参照してください。
Windowsでのネイティブ・イメージのビルド
Windowsでネイティブ・イメージを使用するには、Windows SDKがインストールされているVisual Studioビルド・ツールが必要です。詳細については、Windows向けのGraalVMに関するブログ記事をご覧ください。
Windowsユーザーの場合、この拡張機能では、Microsoft開発者ツールを使用して事前構成されたx64コマンド・プロンプトが提供されます。Windows SDKを使用したVisual Studioビルド・ツールがすでにあり、VS CodeでJavaプロジェクトが開かれたとします。
-
「NATIVE IMAGE」ペインで、右矢印>をクリックします:
デフォルトのインストール場所から既存のWindows SDKビルド・ツール構成スクリプト(
vcvars64.bat
)を選択するか、カスタム構成スクリプトを選択するように求めるダイアログ・ウィンドウが開きます。VS Codeはスクリプトを検出し、パスを事前移入します。 -
[Enter]を押します。新しい端末ウィンドウが開き、x64ネイティブ・ツールのコマンド・プロンプト内で実行されます。
Windows SDKビルド・ツールへのパスはグローバルに保存されるため、次回「NATIVE IMAGE」ペインから新しい端末を開くと、x64ネイティブ・ツールのコマンド・プロンプト内で実行されます。
-
native-image
ビルダーを実行して、たとえば、バージョンを確認します:native-image --version
GraalVMネイティブ・イメージの詳細は、こちらを参照してください。
拡張機能設定
GraalVM Tools for Java拡張機能は、VS Codeでの次の設定に影響します:
- graalvm.home - GraalVMインストールへのパス
- graalvm.installations - 登録済のすべてのGraalVMインストール
- graalvm.systemDetect - システム環境変数からGraalVMのインストールを検出します
- graalvm.languageServer.currentWorkDir - GraalVMの言語サーバー・プロトコルの作業フォルダへの絶対パス
- graalvm.languageServer.start - 実行中またはデバッグ中のプロセス内でGraalVMの言語サーバー・プロトコルを起動します
- graalvm.languageServer.delegateServers - 他の言語サーバーが実行される
language@[host:]port
のカンマ区切りリスト - graalvm.languageServer.startRLanguageServer - R言語サーバーを起動します
- graalvm.languageServer.startRubyLanguageServer - Ruby言語サーバーを起動します
フィードバックの提供またはヘルプの参照
プライバシ・ポリシー
さらに学習するには、Oracleプライバシ・ポリシーを参照してください。