1. EJDKの紹介
EJDK(Embedded Java Development Kit)は、利用可能なすべての組み込みプラットフォームにバイナリを提供するという問題を解決するためにOracleによって導入されました。 最新のEJDKは、Oracleのサイトからダウンロードできます。
簡単に言うと、プラットフォーム固有のJREを作成するためのツールが含まれています。
2. jrecreate
EJDK は、Windows用の jrecreate.bat と、Unix/Linuxプラットフォーム用のjrecreate.shを提供します。 このツールは、使用したいプラットフォーム用のカスタムJREを組み立てるのに役立ち、以下に導入されました。
- プラットフォームごとにOracleによるバイナリのリリースを最小限に抑える
- 他のプラットフォーム用にカスタマイズされたJREを簡単に作成できるようにする
次の構文は、jrecreateコマンドを実行するために使用されます。 Unix / Linuxの場合:
$jrecreate.sh -<option>/--<option> <argument-if-any>
そしてWindowsの場合:
$jrecreate.bat -<option>/--<option> <argument-if-any>
1回のJRE作成に複数のオプションを追加できることに注意してください。 それでは、ツールで利用できるオプションのいくつかを見てみましょう。
3. jrecreateのオプション
3.1. 行き先
destination オプションは必須であり、ターゲットJREを作成するディレクトリを指定します。
$jrecreate.sh -d /SampleJRE
上記のコマンドを実行すると、デフォルトのJREが指定された場所に作成されます。 コマンドライン出力は次のようになります。
Building JRE using Options {
ejdk-home: /installDir/ejdk1.8.0/bin/..
dest: /SampleJRE
target: linux_i586
vm: all
runtime: jre
debug: false
keep-debug-info: false
no-compression: false
dry-run: false
verbose: false
extension: []
}
Target JRE Size is 55,205 KB (on disk usage may be greater).
Embedded JRE created successfully
上記の結果から、指定した宛先ディレクトリにターゲットJREが作成されていることがわかります。 他のすべてのオプションはデフォルト値を採用しています。
3.2. プロファイル
profile オプションは、ターゲットJREのサイズを管理するために使用されます。 プロファイルは、含まれるAPIの機能を定義します。 プロファイルオプションが指定されていない場合、ツールにはデフォルトですべてのJREAPIが含まれます。
$jrecreate.sh -d /SampleJRECompact1/ -p compact1
compact1プロファイルを持つJREが作成されます。 コマンドで-pの代わりに-profileを使用することもできます。 コマンドライン出力には、次の結果が表示されます。
Building JRE using Options {
ejdk-home: /installDir/ejdk1.8.0/bin/..
dest: /SampleJRECompact1
target: linux_i586
vm: minimal
runtime: compact1 profile
debug: false
keep-debug-info: false
no-compression: false
dry-run: false
verbose: false
extension: []
}
Target JRE Size is 10,808 KB (on disk usage may be greater).
Embedded JRE created successfully
上記の結果では、runtimeオプションの値がcompact1であることに注意してください。 また、結果のJREのサイズは11MBをわずかに下回り、前の例の55MBから減少していることに注意してください。
プロファイル設定には、コンパクト1 、コンパクト2、、コンパクト3の3つのオプションがあります。
3.3. JVM
jvm オプションは、ユーザーのニーズに基づいて特定のJVMを使用してターゲットJREをカスタマイズするために使用されます。 デフォルトでは、profileオプションとjvmオプションの両方が指定されていない場合、使用可能なすべてのJVM(クライアント、サーバー、および最小)が含まれます。
$jrecreate.sh -d /SampleJREClientJVM/ --vm client
クライアントjvmを持つJREが作成されます。 コマンドライン出力には、次の結果が表示されます。
Building JRE using Options {
ejdk-home: /installDir/ejdk1.8.0/bin/..
dest: /SampleJREClientJVM
target: linux_i586
vm: Client
runtime: jre
debug: false
keep-debug-info: false
no-compression: false
dry-run: false
verbose: false
extension: []
}
Target JRE Size is 46,217 KB (on disk usage may be greater).
Embedded JRE created successfully
上記の結果では、vmオプションの値がClientであることに注意してください。 このオプションを使用して、サーバーや最小などの他のJVMを指定することもできます。
3.4. 拡大
extension オプションは、ターゲットJREに許可されているさまざまな拡張機能を含めるために使用されます。 デフォルトでは、拡張機能は追加されていません。
$jrecreate.sh -d /SampleJRESunecExt/ -x sunec
拡張子sunec(楕円曲線暗号のセキュリティプロバイダー)を備えたJREが作成されます。 コマンドで-xの代わりに-extensionを使用することもできます。 コマンドライン出力には、次の結果が表示されます。
Building JRE using Options {
ejdk-home: /installDir/ejdk1.8.0/bin/..
dest: /SampleJRESunecExt
target: linux_i586
vm: all
runtime: jre
debug: false
keep-debug-info: false
no-compression: false
dry-run: false
verbose: false
extension: [sunec]
}
Target JRE Size is 55,462 KB (on disk usage may be greater).
Embedded JRE created successfully
上記の結果では、拡張機能オプションの値がsunecであることに注意してください。 このオプションを使用して、複数の拡張機能を追加できます。
3.5. その他のオプション
上記の主要なオプションの他に、 jrecreate は、さらにいくつかのオプションでユーザーを支援します。
- -help :jrecreateツールのコマンドラインオプションの概要を表示します
- -debug :デバッグをサポートするJREを作成します
- -keep-debug-info :クラスおよび署名されていないJARファイルからのデバッグ情報を保持します
- -ドライラン:実際にJREを作成せずにドライランを実行します
- -no-compression :非圧縮形式の署名されていないJARファイルを使用してJREを作成します
- -verbose :すべてのjrecreateコマンドの詳細出力を表示します
4. 結論
このチュートリアルでは、EJDKの基本と、jrecreateツールを使用してプラットフォーム固有のJREを生成する方法を学習しました。