jrecreateを探る
1. EJDKの紹介
EJDK(Embedded Java Development Kit)は、利用可能なすべての組込みプラットフォーム用のバイナリを提供するという問題を解決するためにOracleによって導入されました。最新のEJDKはhttp://www.oracle.com/technetwork/java/embedded/downloads/java-embedded-java-se-download-359230.html[オラクルのサイトはこちら]からダウンロードできます。
簡単に言うと、プラットフォーム固有の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>
単一の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の機能を定義します。 profileオプションが指定されていない場合、ツールはデフォルトですべてのJRE APIを組み込みます。
$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から減少しています。
プロファイル設定には、3つの使用可能なオプションがあります。
compact1
、
compact2、
、および
compact3.
3.3. JVM
jvm
オプションは、ユーザーのニーズに基づいて特定のJVMを使用してターゲットJREをカスタマイズするために使用されます。
profile
と
jvm
の両方のオプションが指定されていない場合、デフォルトで、使用可能なすべてのJVM(クライアント、サーバー、および最小)が含まれます。
$jrecreate.sh -d/SampleJREClientJVM/--vm client
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
です。
このオプションで
server
や
minimal
などの他のJVMも指定できます。
3.4. 拡張
extension
オプションは、ターゲットJREに対するさまざまな許可された拡張機能を含めるために使用されます。デフォルトでは、拡張子は追加されていません。
$jrecreate.sh -d/SampleJRESunecExt/-x sunec
extension
snec(楕円曲線暗号のセキュリティプロバイダ)を持つ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
上記の結果で、
extension
オプションの値は
sunec
になります。このオプションで複数の拡張子を追加できます。
3.5. 別のオプション
上記の主なオプション以外に、
jrecreate
を使用すると、さらにいくつかのオプションをユーザーに提供できます。
-
–– help
:jrecreateツールのコマンドラインオプションの概要を表示します。 -
– debug
:デバッグをサポートするJREを作成します。 -
–– keep-debug-info
:クラスからのデバッグ情報を保持し、
未署名のJARファイル
**
–– dry-run
:実際にJREを作成せずにドライランを実行します
-
–– no-compression
:未署名のJARファイルを含むJREを作成します。
非圧縮フォーマット
**
–– verbose
:すべての
jrecreate
コマンドの詳細な出力を表示します。
4.まとめ
このチュートリアルでは、EJDKの基本と、
jrecreate
ツールを使用してプラットフォーム固有のJREを生成する方法を学びました。