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\
ディレクトリにインストールされ、「スタート」メニューから利用できます。

このチュートリアルに従うには、次のソフトウェアとリソースが必要です。
ソフトウェアまたはリソース | 必須バージョン |
---|---|
7.4または8.0 |
|
7 update 25以降または8 |
|
5.5またはそれ以降 |
|
3.7またはそれ以降 |
必要なツールのインストールおよびパスへの追加
ネイティブ・パッケージングに対するIDEサポートを使用するには、さらに次のツールをインストールする必要があります。
-
WindowsでEXEインストーラを生成するためにInno Setup 5.5(またはそれ以降)が必要です。
-
WindowsでMSIインストーラを生成するためにWiX 3.7(またはそれ以降)が必要です。
*注意: *各プラットフォーム向けにインストーラを作成するために必要なツールのリストは、_NetBeans IDEによるアプリケーションの開発_のネイティブ・インストーラとしてのアプリケーションのパッケージングを参照してください。
Inno Setupをインストールするには:
-
「Inno Setup Downloads」ページから
ispack-5.5.3.exe
をダウンロードします。 -
ファイルをダブルクリックして、インストーラを起動します。
-
Inno Setupライセンス契約に同意し、「Next」をクリックします。
-
Inno Setupをインストールするためのインストール・ウィザードの指示に従います。
WiXをインストールするには:
-
「WiX Toolset - Download」ページから
wix37.exe
をダウンロードします。 -
ファイルをダブルクリックして、インストーラを起動します。
-
WiXをインストールするためのインストール・ウィザードの指示に従います。
Inno Setup/WiXをシステム・パス変数に追加するには:
-
Windows 7で、「スタート」>「コンピュータ」>「システムのプロパティ」>「システムの詳細設定」を選択します。
-
「詳細設定」タブを選択し、「環境変数」ボタンをクリックします。
-
「システム環境変数」ペインでPath変数をダブルクリックします。
-
「システム変数の編集」ダイアログ・ボックスで、「変数値」フィールドにセミコロンと新しいパス(たとえば、
C:\Program Files (x86)\Inno Setup 5
、C:\Program Files (x86)\WiX Toolset v3.6\bin
など)を追加します。 -
「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がシステム・パス変数に追加されている場合のコマンド プロンプトでの表示を示します。
-
ツールをシステム・パス変数に追加した後、必ずIDEを再起動してください。
Java SEプロジェクトでのネイティブ・パッケージング
IDEでネイティブ・パッケージング・サポートを利用するには、次の手順を実行する必要があります。
Java SEプロジェクトの設定
アプリケーションをインストーラにパッケージングする前に、アプリケーション自体を作成する必要があります。
NetBeans IDEに含まれているAnagramゲーム・サンプルを使用して新しいJava SEプロジェクトを作成します。
IDEプロジェクトを作成するには:
-
IDEで、「ファイル」>「新規プロジェクト」を選択します。
-
新規プロジェクト・ウィザードで、「サンプル」カテゴリを展開して「Java」を選択します。
-
「プロジェクト」リストで「アナグラム・ゲーム」を選択します。「次」をクリックします。
-
「名前と場所」パネルで、「プロジェクト名」および「プロジェクトの場所」フィールドのデフォルト値をそのままにします。
-
「終了」をクリックします。 IDEによってJava SEプロジェクトが作成され、開かれます。
作成されたプロジェクトが正常に動作することをテストするには、メイン・メニューから「実行」>「プロジェクトの実行」を選択して実行します。 Anagramsアプリケーションが起動し、マシンに表示されます。

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

プロジェクに対してネイティブ・パッケージングのアクションを有効にするには:
-
「プロジェクト」ウィンドウでプロジェクトのノードを右クリックし、コンテキスト・メニューから「プロパティ」を選択します。
-
「プロジェクト・プロパティ」ダイアログ・ボックスで、「デプロイメント」カテゴリを選択し、「プロジェクト・メニューでネイティブ・パッケージング・アクションを有効化」オプションを選択します。
-
「OK」をクリックします。 「パッケージとして」コマンドがプロジェクトのコンテキスト・メニューに追加されます。

アプリケーションのビルド
デプロイメント用にアプリケーションを消去してビルドします。
プロジェクトを消去してビルドするには:
-
メイン・メニューから「実行」>「プロジェクトを消去してビルド」を選択します。 「出力」ウィンドウに結果が表示されます。
``jar`` ファイルを含む ``dist`` フォルダがプロジェクト・フォルダに作成されます。
EXE
インストーラの作成
これで、Windows用インストーラにアプリケーションをパッケージ化できます。
-
EXE
インストーラをビルドするには:* -
AnagramGameプロジェクトを右クリックし、コンテキスト・メニューから「パッケージとして」>「EXEインストーラ」を選択します。
*注意: *Inno Setupがインストールされ、システム・パス変数に追加されている場合にのみ EXE
インストーラが作成されます。
「出力」ウィンドウに、進捗とパッケージング処理の結果が表示されます。
*注意: *IDEが進捗の一部を出力した後、しばらく何も行われていないように見えます。この間、Inno Setupがバックグラウンドで動作しています。パッケージングが完了するまで少し時間がかかります。
``EXE`` インストーラが完成すると、 ``AnagramGame/dist/bundles/`` ディレクトリに置かれます。

JavaFXプロジェクトでの自己完結型アプリケーション・パッケージング
IDEでネイティブ・パッケージング・サポートを使用して、インストール可能なJavaFXアプリケーションをビルドするには、次の手順を実行する必要があります。
JavaFXプロジェクトの作成
IDEにバンドルされたBrickBreakeサンプル・プロジェクトを使用してJavaFXプロジェクトを作成することから始めます。
IDEでJavaFXプロジェクトを作成するには:
-
IDEで、「ファイル」>「新規プロジェクト」を選択します。
-
新規プロジェクト・ウィザードで「サンプル」カテゴリを展開し、「JavaFX」を選択します。
-
「プロジェクト」リストでBrickBreakerを選択します。「次」をクリックします。
-
「名前と場所」パネルで、「プロジェクト名」、「プロジェクトの場所」および「JavaFXプラットフォーム」の各フィールドをデフォルト値のままにします。
-
「終了」をクリックします。 IDEの「プロジェクト」ウィンドウにBrickBreaker JavaFXが表示されます。
作成されたプロジェクトが正常に動作することをテストするには、メイン・メニューから「実行」>「プロジェクトの実行(BrickBreaker)」を選択して実行します。 Brick Breakerアプリケーションが起動し、マシンに表示されます。
プロジェクトでのネイティブ・パッケージングの有効化
IDEでプロジェクトに対してネイティブ・パッケージング・サポートを使用するには、まず有効化する必要があります。
Brick Breakerプロジェクトを右クリックしても、ネイティブ・パッケージングに関連するアクションは表示されません。

プロジェクトのコンテキスト・メニューでネイティブ・パッケージングのアクションを有効にするには:
-
「プロジェクト」ウィンドウでプロジェクトのノードを右クリックし、コンテキスト・メニューから「プロパティ」を選択します。
-
「プロジェクト・プロパティ」ダイアログ・ボックスで、「ビルド」カテゴリの「デプロイメント」を選択し、「ネイティブ・パッケージングの有効化」オプションを選択します。
-
「OK」をクリックします。 「パッケージとして」項目がプロジェクトのコンテキスト・メニューに追加されます。

アプリケーションのビルド
JavaFXアプリケーションの消去およびビルドの準備ができました。
プロジェクトを消去してビルドするには:
-
メイン・メニューから「実行」>「プロジェクトを消去してビルド」を選択します。 「出力」ウィンドウに結果が表示されます。
*注意: *ビルドが成功したけれども、IDEから「出力」ウィンドウに「 warning: [options] bootstrap class path not set in conjunction with -source 1.6
」が表示される場合、次のようにプロジェクトのプロパティで「ソース/バイナリ形式」をJDK 8に設定し、プロジェクトを再度消去およびビルドする必要があります。
-
「プロジェクト」ウィンドウでBrickBreakerプロジェクトを右クリックし、「プロパティ」を選択します。
-
「プロジェクト・プロパティ」ダイアログ・ボックスで、「ソース」カテゴリを選択します。
-
「ソース/バイナリ形式」をJDK 8に設定し、「OK」をクリックします。
-
「プロジェクト」ウィンドウでBrickBreakerを右クリックし、コンテキスト・メニューから「消去してビルド」を選択します。
MSI
インストーラの作成
これで、アプリケーションをWindows固有のインストール可能なパッケージにラップできます。
-
MSI
インストーラをビルドするには:* -
BrickBreakerプロジェクトを右クリックし、コンテキスト・メニューから「パッケージとして」>「MSIインストーラ」を選択します。
*注意: *WiXがインストールされ、システム・パス変数に追加されている場合にのみ MSI
インストーラが作成されます。
「出力」ウィンドウに、進捗とパッケージング処理の結果が表示されます。
*注意: *IDEが進捗の一部を出力した後、しばらく何も行われていないように見えます。この間、WiXがバックグラウンドで動作しています。パッケージングが完了するまで少し時間がかかります。
インストール可能なJavaFXアプリケーションは、 BrickBreaker/dist/bundles/
ディレクトリに置かれます。

``AnagramGame-1.0.exe`` および ``BrickBreaker-1.0.msi`` インストーラが完成したら、AnagramおよびBrickBreakerアプリケーションがネイティブでインストールされるディレクトリを確認する必要があります。
インストーラを確認するには:
-
ハード・ドライブでインストーラ・ファイル(
AnagramGame-1.0.exe
またはBrickBreaker-1.0.msi
)に移動します。 -
ダブルクリックして、インストーラを実行します。
両方のアプリケーションとも C:\Users\<username>\AppData\Local\
ディレクトリにインストールされ、「スタート」メニューから利用できる必要があります。
関連項目
-
_NetBeans IDEによるアプリケーションの開発_のネイティブ・インストーラとしてのアプリケーションのパッケージング