◀戻る
JAR ファイルからネイティブ実行可能ファイルを構築する
クラスファイル、JAR ファイル、またはモジュールからネイティブ実行可能ファイルを構築できます。このガイドでは、JAR ファイルからネイティブ実行可能ファイルを構築する方法を説明します。
現在の作業ディレクトリにある JAR ファイルからネイティブ実行可能ファイルを構築するには、次のコマンドを使用します
native-image [options] -jar jarfile [executable name]
デモを実行
前提条件
GraalVM JDK をインストールしたことを確認してください。始める最も簡単な方法は SDKMAN! です。その他のインストールオプションについては、ダウンロード セクション を参照してください。
-
アプリケーションを準備します。
- 「App」という名前の新しい Java プロジェクトを、お気に入りの IDE または端末で、次の構造で作成します
| 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 アプリケーションです。
- 「App」という名前の新しい Java プロジェクトを、お気に入りの IDE または端末で、次の構造で作成します
- アプリケーションをコンパイルします。
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
プロジェクトのルート ディレクトリにネイティブ実行可能ファイルが生成されます。実行可能ファイルのデフォルト名は JAR ファイルの名前(この場合は「App」)になります。最後の引数としてカスタム名を提供すること(たとえば、
native-image -jar App.jar executable_name
)、または-jar jarfile
の前または後に-o executable_name
を使用してカスタマイズできます。たとえば、native-image -jar App.jar -o executable_name
です。 - ネイティブ実行可能ファイルを実行します。
./App
native-image
のデフォルトの動作は java
コマンドに準拠しています。つまり、通常 java
で行うように -jar
、-cp
、-m
オプションを渡してネイティブイメージを使用して構築できます。たとえば、java -jar App.jar someArgument
は native-image -jar App.jar
となり、./App someArgument
となります。