2 基本のパッケージ化
アプリケーションで、複数のランチャやファイル・アソシエーションなどの機能のカスタマイズやサポートを必要としない場合は、パッケージ化に必要なオプションは数個のみです。
最も単純な方法でパッケージ化するには、アプリケーションをパッケージ化する場所と、メイン・クラスを含むJARまたはモジュールの名前が必要です。
- 
                     次に、非モジュラ・アプリケーションのパッケージ例を示します: jpackage --input app-directory --main-jar jar-file [--main-class main-class]app-directoryは、アプリケーションのファイルが格納されているディレクトリの名前です。パスは、絶対パスまたは現在のディレクトリを基準とした相対パスのどちらでもかまいません。jar-fileは、アプリケーションのメイン・クラスを含むJARファイルの名前です。main-classはメイン・クラスの名前で、 MANIFEST.MFファイルでメイン・クラスが識別されていない場合にのみ必要です。パッケージの完了には、ツール・デフォルトとプラットフォーム・デフォルトが必要に応じて使用されます。
- 
                     次に、モジュラ・アプリケーションのパッケージ例を示します: jpackage --module-path module-path --module main-module[/class]module-pathは、モジュールのディレクトリまたはモジュールJARファイルへのパスです。このパスは、絶対パスまたは現在のディレクトリからの相対パスのいずれかで指定できます。複数のパスの場合、LinuxとmacOSではコロン(:)、Windowsではセミコロン(;)でパスを区切るか、 --module-pathオプションの複数のインスタンスを使用します。main-module/classは、メイン・クラスとアプリケーションのメイン・クラスの名前を含むモジュールの名前です。メイン・クラスの名前は、メイン・モジュールがメイン・クラスを識別しない場合にのみ必要です。パッケージの完了には、ツール・デフォルトとプラットフォーム・デフォルトが必要に応じて使用されます。
オプションが指定されていない場合のデフォルト
オプションを使用して、アプリケーションの名前、作成されるパッケージのタイプ、インストールの場所、およびパッケージのその他の特性を制御できます。オプションが指定されない場合は、デフォルト値が使用されます。
次のデフォルトは、jpackageの実行時に指定されないオプションに適用されます:
                  
- 
                        このパッケージ・タイプは、プラットフォームに依存します: - Linuxでは、デフォルトはDebian Linuxの場合はdeb、他のバージョンのLinuxの場合はrpmになります。
- macOSでは、デフォルトはdmgです。
- Windowsでは、デフォルトはexeです。
 異なるタイプのパッケージを生成するには、 --typeオプションを使用します。
- Linuxでは、デフォルトはDebian Linuxの場合は
- 
                        生成されたパッケージは、現在の作業ディレクトリに書き込まれます。別の場所にパッケージを書き込むには、 --destオプションを使用します。
- 
                        パッケージの名前は、アプリケーション名およびアプリケーション・バージョンから生成されます。アプリケーション名が指定されていない場合は、メインJARまたはモジュールの名前が使用され、その後ろにバージョンが続き、そのバージョンが1.0にデフォルト設定されます(たとえば HelloWorld-1.0.exe)。アプリケーションの名前を変更するには、--nameオプションを使用します。バージョンを変更するには、--app-versionオプションを使用します。
- 
                        Javaランタイムは、 jlinkコマンドを使用してパッケージ化プロセスで生成されます。--add-modulesおよび--jlink-optionsオプションは、パッケージ化プロセスの一部としてアイテムをランタイムに追加するために使用できます。カスタム・ランタイムをパッケージ化するには、--runtime-imageオプションを使用します。
- インストール・ディレクトリはプラットフォーム固有です:
                        - Linuxでは、デフォルトは/opt/application-nameです
- macOSでは、デフォルトは/Applications/application-nameです
- Windowsでは、デフォルトはc:\Program Files\application-nameです。--win-per-user-installオプションを使用した場合、デフォルトはC:\Users\user-name\AppData\Local\application-nameです
 アプリケーション・ディレクトリの名前はデフォルトでアプリケーションの名前になります。ディレクトリに別の名前を付けるには、 --install-dirオプションを使用します。
- Linuxでは、デフォルトは
- 
                        アプリケーション・ランチャの名前はデフォルトでアプリケーションの名前になります。アプリケーションに複数のランチャがある場合は、 --add-launcherオプションを使用して識別します。
- 
                        アプリケーションの起動時、デフォルトのコマンドライン引数またはJavaランタイム・オプションはアプリケーションに渡されません。ユーザーは、アプリケーションの起動時にコマンドラインからアプリケーション引数を渡すことはできますが、Javaランタイム・オプションを渡すことはできません。 
- 
                        アプリケーションのデフォルト・アイコンが使用されます。別のアイコンの場合、 --iconオプションを使用します。
- 
                        Linuxの場合、パッケージ名はデフォルトでアプリケーション名に設定されます。パッケージに別の名前を付けるには、 --linux-package-nameオプションを使用します。
- 
                        macOSの場合: - 
                              アプリケーション識別子は、デフォルトでメイン・クラス名になります。別の識別子を使用するには、 --mac-package-identifierオプションを使用します。
- 
                              メニュー・バーに表示されるアプリケーションの名前は、デフォルトでアプリケーションのメイン・クラス名になります。別の名前を使用するには、 --mac-package-nameオプションを使用します。
 
- 
                              
非モジュラ・アプリケーションのパッケージ化
非モジュラ・アプリケーション・パッケージは、パッケージ化するファイルの場所およびメインJARファイルの名前のみを指定することでパッケージ化できます。デフォルトは、パッケージおよびアプリケーションを説明する他のオプションに使用されます。
次のコマンドをWindowsシステムで実行すると、非モジュラ・アプリケーションがmySamples\hwappディレクトリにHelloWorld.jarファイルのメイン・クラスでパッケージ化されます。
                  
jpackage --input mySamples\hwapp --main-jar HelloWorld.jar 他のオプションは使用されないため、次のデフォルトが適用されます:
- 
                        生成されるパッケージのデフォルトのタイプは exeです。
- 
                        生成されるパッケージの名前は HelloWorld-1.0.exeです。
- 
                        パッケージは現在のディレクトリに書き込まれます。 
- 
                        アプリケーションとともにパッケージ化されるランタイムは、パッケージ化プロセスの一部として生成されます。 
- 
                        アプリケーションは、 c:\Program Files\HelloWorldディレクトリにインストールされます。
- 
                        ランチャの名前は HelloWorld.exeです。
- 
                        デフォルトのアイコンがアプリケーションに使用されます。 
- 
                        ショートカットは作成されず、アプリケーションはどのメニューにも追加されません。ユーザーは、アプリケーションがインストールされているディレクトリに移動して実行する必要があります。 
- 
                        アプリケーションの起動時、デフォルトの引数またはJavaランタイム・オプションはアプリケーションに渡されません。 
モジュラ・アプリケーションのパッケージ化
モジュラ・アプリケーション・パッケージは、パッケージ化するモジュールの場所およびメイン・モジュールの名前のみを指定することでパッケージ化できます。デフォルトは、パッケージおよびアプリケーションを説明する他のオプションに使用されます。
次のコマンドをDebian Linuxシステムで実行すると、モジュラ・アプリケーションがmyModAppsディレクトリにmodhw/modhw.HelloWorldModモジュールのメイン・クラスでパッケージ化されます 
                  
jpackage --module-path myModApps --module modhw/modhw.HelloWorldMod他のオプションは使用されないため、次のデフォルトが適用されます:
- 
                        生成されるパッケージのデフォルトのタイプは、Debianシステムの場合、 debです
- 
                        生成されるパッケージの名前は HelloWorldMod-1.0.debです。
- 
                        パッケージは現在のディレクトリに書き込まれます。 
- 
                        アプリケーションとともにパッケージ化されるランタイムは、パッケージ化プロセスの一部として生成されます。 
- 
                        アプリケーションは /opt/HelloWorldModディレクトリにインストールされます。
- 
                        ランチャの名前は HelloWorldModです。
- 
                        デフォルトのアイコンがアプリケーションに使用されます。 
- 
                        ショートカットは作成されず、アプリケーションはどのメニューにも追加されません。ユーザーは、アプリケーションがインストールされているディレクトリに移動して実行する必要があります。 
- 
                        アプリケーションの起動時、デフォルトの引数またはJavaランタイム・オプションはアプリケーションに渡されません。