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
になります。