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を生成する方法を学びました。