NetBeans IDEでのネイティブ・パッケージング

This tutorial needs a review. You can edit it in GitHub following these contribution guidelines.

執筆: Petr SomolおよびAlyona Stashkova

ネイティブ・パッケージングは、アプリケーションを_ネイティブ・バンドル_としてパッケージ化し、システムJREやJavaFX SDKの外部依存に関係なくアプリケーションをインストールして実行できるようにする機能で、JavaFX 2.2 SDKで初めて導入されました。次に、Java SEプロジェクトでも使用できるようになりました。

ネイティブ・パッケージングではアプリケーションのデプロイメント・モデルは変更しません。アプリケーションをそのまま取り込んでJavaランタイムとともにパッケージ化し、使用しているオペレーティング・システムで通常使用されるインストーラを生成します。肝心な点は、ターゲット・マシンでのJavaランタイム・ユーザーのソフトウェアにまったく依存しないということです。そのようなインストーラはJavaがインストールされていないマシンに配布して実行できます。すると、アプリケーションと必要なJavaランタイムがインストールされます。"Hello world"アプリケーションの場合でさえ、アプリケーション自体と大容量のJavaランタイム・アーティファクトが含まれるため、インストーラのサイズは非常に大きくなります。

このチュートリアルでは、IDEにバンドルされているサンプル・アプリケーションに基づいて、Windowsオペレーティング・システム向けに、Java SEアプリケーション用の EXE インストーラおよびJavaFXアプリケーション用の MSI インストーラを作成します。

注意:

  • 生成される EXE および MSI インストーラはプラットフォーム固有で、 EXE / MSI インストール可能パッケージが作成されたターゲットJavaプラットフォームと互換性のあるシステムでのみ実行されます。(たとえば、 EXE または MSI インストーラが64ビットJDKがインストールされているマシンで作成された場合、64ビットWindowsがインストールされたマシンで実行する必要があります。)

  • Windowsでは、両方のアプリケーションとも C:\Users\<username>\AppData\Local\ ディレクトリにインストールされ、「スタート」メニューから利用できます。

netbeans stamp 80 74
Figure 1. このページの内容は、NetBeans IDE 7.4または8.0に適用されます

このチュートリアルに従うには、次のソフトウェアとリソースが必要です。

ソフトウェアまたはリソース 必須バージョン

NetBeans IDE

7.4または8.0

Java Development Kit (JDK)

7 update 25以降または8

Inno Setup

5.5またはそれ以降

WiX

3.7またはそれ以降

必要なツールのインストールおよびパスへの追加

ネイティブ・パッケージングに対するIDEサポートを使用するには、さらに次のツールをインストールする必要があります。

  • WindowsでEXEインストーラを生成するためにInno Setup 5.5(またはそれ以降)が必要です。

  • WindowsでMSIインストーラを生成するためにWiX 3.7(またはそれ以降)が必要です。

*注意: *各プラットフォーム向けにインストーラを作成するために必要なツールのリストは、_NetBeans IDEによるアプリケーションの開発_のネイティブ・インストーラとしてのアプリケーションのパッケージングを参照してください。

Inno Setupをインストールするには:

  1. 「Inno Setup Downloads」ページから ispack-5.5.3.exe をダウンロードします。

  2. ファイルをダブルクリックして、インストーラを起動します。

  3. Inno Setupライセンス契約に同意し、「Next」をクリックします。

  4. Inno Setupをインストールするためのインストール・ウィザードの指示に従います。

WiXをインストールするには:

  1. 「WiX Toolset - Download」ページから wix37.exe をダウンロードします。

  2. ファイルをダブルクリックして、インストーラを起動します。

  3. WiXをインストールするためのインストール・ウィザードの指示に従います。

Inno Setup/WiXをシステム・パス変数に追加するには:

  1. Windows 7で、「スタート」>「コンピュータ」>「システムのプロパティ」>「システムの詳細設定」を選択します。

  2. 「詳細設定」タブを選択し、「環境変数」ボタンをクリックします。

  3. 「システム環境変数」ペインでPath変数をダブルクリックします。

  4. 「システム変数の編集」ダイアログ・ボックスで、「変数値」フィールドにセミコロンと新しいパス(たとえば、 C:\Program Files (x86)\Inno Setup 5C:\Program Files (x86)\WiX Toolset v3.6\bin など)を追加します。

  5. 「OK」をクリックして、開いているダイアログ・ボックスをすべて閉じます。

*注意: *

  • インストールされたツールのパスが通っていることを確認するには、「コマンド プロンプト」ウィンドウを開き、 iscc.exe (Inno Setupの場合)または candle.exe (WiXの場合)と入力します。(コマンド プロンプトがすぐに閉じる場合、それぞれ cmd.exe /c cmd.exe /k iscc.exe または cmd.exe /c cmd.exe /k candle.exe と指定してみてください。) 次の図に、Inno Setupがシステム・パス変数に追加されている場合のコマンド プロンプトでの表示を示します。

cmd small
  • ツールをシステム・パス変数に追加した後、必ずIDEを再起動してください。

Java SEプロジェクトでのネイティブ・パッケージング

IDEでネイティブ・パッケージング・サポートを利用するには、次の手順を実行する必要があります。

Java SEプロジェクトの設定

アプリケーションをインストーラにパッケージングする前に、アプリケーション自体を作成する必要があります。

NetBeans IDEに含まれているAnagramゲーム・サンプルを使用して新しいJava SEプロジェクトを作成します。

IDEプロジェクトを作成するには:

  1. IDEで、「ファイル」>「新規プロジェクト」を選択します。

  2. 新規プロジェクト・ウィザードで、「サンプル」カテゴリを展開して「Java」を選択します。

  3. 「プロジェクト」リストで「アナグラム・ゲーム」を選択します。「次」をクリックします。

new javase prj small
  1. 「名前と場所」パネルで、「プロジェクト名」および「プロジェクトの場所」フィールドのデフォルト値をそのままにします。

  2. 「終了」をクリックします。 IDEによってJava SEプロジェクトが作成され、開かれます。

作成されたプロジェクトが正常に動作することをテストするには、メイン・メニューから「実行」>「プロジェクトの実行」を選択して実行します。 Anagramsアプリケーションが起動し、マシンに表示されます。

anagrams

IDEでのネイティブ・パッケージングの有効化

ネイティブ・パッケージングのアクションは、デフォルトでは、IDEで無効になっています。

「プロジェクト」ウィンドウでAnagramGameプロジェクトを右クリックして、作成されたJava SEプロジェクトに対してIDEで使用可能なアクションを確認します。プロジェクトのコンテキスト・メニューにはパッケージングに関連するアクションはありません。

context wo pkg

プロジェクに対してネイティブ・パッケージングのアクションを有効にするには:

  1. 「プロジェクト」ウィンドウでプロジェクトのノードを右クリックし、コンテキスト・メニューから「プロパティ」を選択します。

  2. 「プロジェクト・プロパティ」ダイアログ・ボックスで、「デプロイメント」カテゴリを選択し、「プロジェクト・メニューでネイティブ・パッケージング・アクションを有効化」オプションを選択します。

enable native pkg small
  1. 「OK」をクリックします。 「パッケージとして」コマンドがプロジェクトのコンテキスト・メニューに追加されます。

pkg enabled

アプリケーションのビルド

デプロイメント用にアプリケーションを消去してビルドします。

プロジェクトを消去してビルドするには:

  • メイン・メニューから「実行」>「プロジェクトを消去してビルド」を選択します。 「出力」ウィンドウに結果が表示されます。

output small
``jar`` ファイルを含む ``dist`` フォルダがプロジェクト・フォルダに作成されます。

EXE インストーラの作成

これで、Windows用インストーラにアプリケーションをパッケージ化できます。

  • EXE インストーラをビルドするには:*

  • AnagramGameプロジェクトを右クリックし、コンテキスト・メニューから「パッケージとして」>「EXEインストーラ」を選択します。

*注意: *Inno Setupがインストールされ、システム・パス変数に追加されている場合にのみ EXE インストーラが作成されます。

「出力」ウィンドウに、進捗とパッケージング処理の結果が表示されます。

output se exe small

*注意: *IDEが進捗の一部を出力した後、しばらく何も行われていないように見えます。この間、Inno Setupがバックグラウンドで動作しています。パッケージングが完了するまで少し時間がかかります。

``EXE`` インストーラが完成すると、 ``AnagramGame/dist/bundles/`` ディレクトリに置かれます。
anagram exe

JavaFXプロジェクトでの自己完結型アプリケーション・パッケージング

IDEでネイティブ・パッケージング・サポートを使用して、インストール可能なJavaFXアプリケーションをビルドするには、次の手順を実行する必要があります。

JavaFXプロジェクトの作成

IDEにバンドルされたBrickBreakeサンプル・プロジェクトを使用してJavaFXプロジェクトを作成することから始めます。

IDEでJavaFXプロジェクトを作成するには:

  1. IDEで、「ファイル」>「新規プロジェクト」を選択します。

  2. 新規プロジェクト・ウィザードで「サンプル」カテゴリを展開し、「JavaFX」を選択します。

  3. 「プロジェクト」リストでBrickBreakerを選択します。「次」をクリックします。

  4. 「名前と場所」パネルで、「プロジェクト名」、「プロジェクトの場所」および「JavaFXプラットフォーム」の各フィールドをデフォルト値のままにします。

new javafx prj small
  1. 「終了」をクリックします。 IDEの「プロジェクト」ウィンドウにBrickBreaker JavaFXが表示されます。

作成されたプロジェクトが正常に動作することをテストするには、メイン・メニューから「実行」>「プロジェクトの実行(BrickBreaker)」を選択して実行します。 Brick Breakerアプリケーションが起動し、マシンに表示されます。

brickbreaker small

プロジェクトでのネイティブ・パッケージングの有効化

IDEでプロジェクトに対してネイティブ・パッケージング・サポートを使用するには、まず有効化する必要があります。

Brick Breakerプロジェクトを右クリックしても、ネイティブ・パッケージングに関連するアクションは表示されません。

javafx wo pkg

プロジェクトのコンテキスト・メニューでネイティブ・パッケージングのアクションを有効にするには:

  1. 「プロジェクト」ウィンドウでプロジェクトのノードを右クリックし、コンテキスト・メニューから「プロパティ」を選択します。

  2. 「プロジェクト・プロパティ」ダイアログ・ボックスで、「ビルド」カテゴリの「デプロイメント」を選択し、「ネイティブ・パッケージングの有効化」オプションを選択します。

enable native pkg fx small
  1. 「OK」をクリックします。 「パッケージとして」項目がプロジェクトのコンテキスト・メニューに追加されます。

pkg fx enabled

アプリケーションのビルド

JavaFXアプリケーションの消去およびビルドの準備ができました。

プロジェクトを消去してビルドするには:

  • メイン・メニューから「実行」>「プロジェクトを消去してビルド」を選択します。 「出力」ウィンドウに結果が表示されます。

*注意: *ビルドが成功したけれども、IDEから「出力」ウィンドウに「 warning: [options] bootstrap class path not set in conjunction with -source 1.6 」が表示される場合、次のようにプロジェクトのプロパティで「ソース/バイナリ形式」をJDK 8に設定し、プロジェクトを再度消去およびビルドする必要があります。

  1. 「プロジェクト」ウィンドウでBrickBreakerプロジェクトを右クリックし、「プロパティ」を選択します。

  2. 「プロジェクト・プロパティ」ダイアログ・ボックスで、「ソース」カテゴリを選択します。

  3. 「ソース/バイナリ形式」をJDK 8に設定し、「OK」をクリックします。

  4. 「プロジェクト」ウィンドウでBrickBreakerを右クリックし、コンテキスト・メニューから「消去してビルド」を選択します。

MSI インストーラの作成

これで、アプリケーションをWindows固有のインストール可能なパッケージにラップできます。

  • MSI インストーラをビルドするには:*

  • BrickBreakerプロジェクトを右クリックし、コンテキスト・メニューから「パッケージとして」>「MSIインストーラ」を選択します。

*注意: *WiXがインストールされ、システム・パス変数に追加されている場合にのみ MSI インストーラが作成されます。

「出力」ウィンドウに、進捗とパッケージング処理の結果が表示されます。

output fx msi small

*注意: *IDEが進捗の一部を出力した後、しばらく何も行われていないように見えます。この間、WiXがバックグラウンドで動作しています。パッケージングが完了するまで少し時間がかかります。

インストール可能なJavaFXアプリケーションは、 BrickBreaker/dist/bundles/ ディレクトリに置かれます。

brickbreaker msi

``AnagramGame-1.0.exe`` および ``BrickBreaker-1.0.msi`` インストーラが完成したら、AnagramおよびBrickBreakerアプリケーションがネイティブでインストールされるディレクトリを確認する必要があります。

インストーラを確認するには:

  1. ハード・ドライブでインストーラ・ファイル( AnagramGame-1.0.exe または BrickBreaker-1.0.msi )に移動します。

  2. ダブルクリックして、インストーラを実行します。

両方のアプリケーションとも C:\Users\<username>\AppData\Local\ ディレクトリにインストールされ、「スタート」メニューから利用できる必要があります。

関連項目