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
および--bind-services
オプションは、パッケージ化プロセスの一部としてアイテムをランタイムに追加するために使用できます。カスタム・ランタイムをパッケージ化するには、--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ランタイム・オプションはアプリケーションに渡されません。