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