JARファイルからのネイティブ実行可能ファイルのビルド
ネイティブ実行可能ファイルは、クラス・ファイルから、JARファイルから、またはモジュールからビルドできます。このガイドでは、ネイティブ実行可能ファイルをJARファイルからビルドする方法を示します。
現在の作業ディレクトリ内のJARファイルからネイティブ実行可能ファイルをビルドするには、次のコマンドを使用します:
native-image [options] -jar jarfile [executable name]
-
GraalVM JDKがインストール済であることを確認します。最も簡単に始めるには、SDKMAN!を使用します。その他のインストール・オプションについては、「ダウンロード」セクションを参照してください。
-
アプリケーションを準備します。
-
たとえば、お気に入りのIDEや端末で、"App"という名前の新しいJavaプロジェクトを次の構造で作成します:
| src | --com/ | -- example | -- App.java -
次のJavaコードをsrc/com/example/App.javaファイルに追加します:
package com.example; public class App { public static void main(String[] args) { String str = "Native Image is awesome"; String reversed = reverseString(str); System.out.println("The reversed string is: " + reversed); } public static String reverseString(String str) { if (str.isEmpty()) return str; return reverseString(str.substring(1)) + str.charAt(0); } }これは、再帰を使用して文字列を逆にする小さいJavaアプリケーションです。
-
- アプリケーションをコンパイルします:
javac -d build src/com/example/App.javaこれにより、build/com/exampleディレクトリにApp.classファイルが生成されます。
- 実行可能なJARファイルを作成します:
jar --create --file App.jar --main-class com.example.App -C build .プロジェクト・ルート・ディレクトリにApp.jarという名前の実行可能なJARファイルが生成されます: 内容を表示するには、
jar tf App.jarコマンドを実行します。 - ネイティブ実行可能ファイルを作成します:
native-image -jar App.jarプロジェクト・ルート・ディレクトリにネイティブ実行可能ファイルが生成されます。
- ネイティブ実行可能ファイルを実行します:
./App
native-imageのデフォルトの動作は、javaコマンドと一致しています。これは、javaで通常行うように、-jar、-cp、-mオプションを渡してネイティブ・イメージでビルドできることを意味します。たとえば、java -jar App.jar someArgumentはnative-image -jar App.jarおよび./App someArgumentになります。