名前
jpackage - 自己完結型Javaアプリケーションをパッケージ化するためのツール。
シノプシス
jpackage [options]
- options
- スペースで区切ったコマンド行オプション。 「jpackageオプション」を参照してください。
説明
jpackageツールは、JavaアプリケーションとJavaランタイム・イメージを入力として取り、必要な依存関係をすべて含むJavaアプリケーション・イメージを生成します。 ネイティブ・パッケージは、Windowsでの実行やmacOSでのdmgなどのプラットフォーム固有の形式で生成できます。 各形式は実行するプラットフォーム上に構築する必要があり、クロス・プラットフォーム・サポートはありません。 ツールには、パッケージ・アプリケーションを様々な方法でカスタマイズできるオプションがあります。
jpackageオプション
一般的なオプション:
@filename-
ファイルからオプションを読み取ります。
このオプションは複数回使用できます。
--typeまたは-ttype-
作成するパッケージのタイプ
有効な値は次のとおりです: {"app-image", "exe", "msi", "rpm", "deb", "pkg", "dmg"}
このオプションが指定されない場合、プラットフォーム依存のデフォルト・タイプが作成されます。
--app-versionversion-
アプリケーションおよびパッケージのバージョン
--copyrightcopyright-
アプリケーションのコピーライト
--descriptiondescription-
アプリケーションの説明
--helpまたは-h-
現行のプラットフォームで出力ストリームに対して有効な各オプションのリストと説明を出力し、終了します。
--iconpath-
アプリケーション・パッケージのアイコンのパス
(絶対パスまたは現在のディレクトリからの相対パス)
--nameまたは-nname-
アプリケーションおよびパッケージの名前
--destまたは-ddestination-
生成された出力ファイルが配置されるパス
(絶対パスまたは現在のディレクトリからの相対パス)
デフォルトは現在の作業ディレクトリです。
--tempdirectory-
一時ファイルの作成に使用される新規または空のディレクトリのパス
(絶対パスまたは現在のディレクトリからの相対パス)
指定した場合、タスクの完了時に一時ディレクトリは削除されず、手動で削除する必要があります。
指定しない場合は、タスクの完了時に一時ディレクトリが作成および削除されます。
--vendorvendor-
アプリケーションのベンダー
--verbose-
詳細出力を有効にします。
--version-
製品バージョンを出力ストリームに出力して終了します
ランタイム・イメージを作成するためのオプション:
--add-modulesmodule-name [,module-name...]-
追加するモジュールのカンマ(",")区切りリスト
このモジュール・リストは、メイン・モジュールの(指定されている場合)とともにjlinkに--add-module引数として渡されます。 指定しない場合は、メイン・モジュールの(--moduleが指定されている場合)のみ、または(--main-jarが指定されている場合)モジュールのデフォルト・セットが使用されます。
このオプションは複数回使用できます。
--module-pathまたは-pmodule-path [,module-path...]-
パスのFile.pathSeparator区切りリスト
各パスは、モジュールのディレクトリまたはモジュラjarへのパスで、絶対パスまたは現在のディレクトリからの相対パスです。
このオプションは複数回使用できます。
--jlink-optionsoptions-
jlinkに渡すオプションのスペース区切りのリスト
指定しない場合、"--strip-native-commands --strip-debug --no-man-pages --no-header-files"にデフォルト設定されます
このオプションは複数回使用できます。
--runtime-imagedirectory-
アプリケーション・イメージにコピーされる事前定義済ランタイム・イメージのパス
(絶対パスまたは現在のディレクトリからの相対パス)
--runtime-imageが指定されていない場合、jpackageはjlinkを実行して、--jlink-optionsで指定されたオプションを使用してランタイム・イメージを作成します。
アプリケーション・イメージを作成するためのオプション:
--inputまたは-idirectory-
パッケージ化するファイルを含む入力ディレクトリへのパス
(絶対パスまたは現在のディレクトリからの相対パス)
入力ディレクトリ内のすべてのファイルがアプリケーション・イメージにパッケージ化されます。
--app-contentadditional-content [,additional-content...]-
アプリケーション・ペイロードに追加するファイルまたはディレクトリ(あるいはその両方)へのパスのカンマ区切りリスト。
このオプションは複数回使用できます。
アプリケーション・ランチャを作成するためのオプション:
--add-launchername=path-
ランチャの名前、およびキー、値ペアのリストを含むプロパティ・ファイルへのパス
(絶対パスまたは現在のディレクトリからの相対パス)
キー"module"、"main-jar"、"main-class"、"description"、"arguments"、"java-options"、"app-version"、"icon"、"launcher-as-service"、"win-console"、"win-shortcut"、"win-menu"、"linux-app-category"および"linux-shortcut"を使用できます。
これらのオプションは、追加の代替ランチャを構築するために、元のコマンドライン・オプションに追加するか、または上書きするために使用します。 メイン・アプリケーション・ランチャは、コマンド行オプションから構築されます。 このオプションを使用して追加の代替ランチャを構築でき、このオプションを複数回使用して複数の追加のランチャを構築できます。
--argumentsarguments-
起動ツールにコマンドライン引数が指定されていない場合にメイン・クラスに渡すコマンドライン引数
このオプションは複数回使用できます。
--java-optionsoptions-
Javaランタイムに渡すオプション
このオプションは複数回使用できます。
--main-classclass-name-
実行するアプリケーション・メイン・クラスの修飾名
このオプションを使用できるのは、--main-jarが指定されている場合だけです。
--main-jarmain-jar-
アプリケーションの主なJAR(メイン・クラス(入力パスに対して相対パスとして指定されます)を含む)
--moduleまたは--main-jarオプションのいずれかを指定できますが、両方は指定できません。
--moduleまたは-mmodule-name [/main-class]-
アプリケーションのメイン・モジュール(およびオプションでメイン・クラス)
このモジュールは、モジュール・パスに置かれている必要があります。
このオプションを指定すると、メイン・モジュールがJavaランタイム・イメージ内でリンクされます。 --moduleまたは--main-jarオプションのいずれかを指定できますが、両方は指定できません。
アプリケーション・ランチャを作成するためのプラットフォーム依存オプション:
Windowsプラットフォームのオプション(Windowsで実行中のみ使用可能):
--win-console-
アプリケーションのコンソール・ランチャを作成します。コンソール対話が必要なアプリケーションに対して指定する必要があります
macOSプラットフォームのオプション(macOSで実行中のみ使用可能):
--mac-package-identifieridentifier-
macOSのアプリケーションを一意に識別する識別子
デフォルトはメイン・クラス名です。
使用できるのは、英数字の(A-Z,a-z,0-9)、ハイフン(-)および期間(.)文字のみです。
--mac-package-namename-
メニュー・バーに表示されるアプリケーションの名前
これは、アプリケーション名と異なる場合があります。
この名前は16文字未満で、メニュー・バーおよびアプリケーションの情報ウィンドウに表示するのに適しています。 デフォルトはアプリケーション名です。
--mac-package-signing-prefixprefix-
アプリケーション・パッケージに署名する場合、この値は、既存のパッケージ識別子を持たない署名する必要があるすべてのコンポーネントにプレフィクスとして付けられます。
--mac-sign-
パッケージまたは定義済みのアプリケーション・イメージへの署名をリクエストします。
--mac-signing-keychainkeychain-name-
署名アイデンティティを検索するキー・チェーンの名前
指定しない場合は、標準のキー・チェーンが使用されます。
--mac-signing-key-user-namename-
Appleの署名IDのチームまたはユーザー名部分
--mac-app-store-
jpackage出力がMac App Storeを対象としていることを示します。
--mac-entitlementspath-
バンドル内の実行可能ファイルおよびライブラリに署名するときに使用する資格を含むファイルへのパス
--mac-app-categorycategory-
アプリケーション・レートでLSApplicationCategoryTypeを作成するために使用する文字列
デフォルト値は"ユーティリティ"です。
アプリケーション・パッケージを作成するためのオプション:
--about-urlurl-
アプリケーションのホームページのURL
--app-imagedirectory-
インストール可能なパッケージ(すべてのプラットフォーム)の構築または(on macOS)への署名に使用される事前定義済アプリケーション・イメージのロケーション
(絶対パスまたは現在のディレクトリからの相対パス)
--file-associationspath-
キー、値のペアのリストを含むプロパティ・ファイルへのパス
(絶対パスまたは現在のディレクトリからの相対パス)
キー"extension"、"mime-type"、"icon"および"description"を使用して関連付けを記述できます。
このオプションは複数回使用できます。
--install-dirpath-
アプリケーション(macOSまたはlinux)のインストール・ディレクトリの絶対パス、または"プログラム・ファイル"や"AppData" (Windows上で)などのインストール・ディレクトリの相対サブパス
--license-filepath-
ライセンス・ファイルへのパス
(絶対パスまたは現在のディレクトリからの相対パス)
--resource-dirpath-
オーバーライドjpackageリソースへのパス
(絶対パスまたは現在のディレクトリからの相対パス)
このディレクトリに置換リソースを追加することによって、jpackageのアイコン、テンプレート・ファイルおよびその他のリソースを上書きできます。
--runtime-imagepath-
インストールする事前定義済みのランタイム・イメージのパス
(絶対パスまたは現在のディレクトリからの相対パス)
ランタイム・インストーラの作成時にはオプションが必要です。
--launcher-as-service-
メイン・アプリケーション・ランチャをバックグラウンド・サービス・タイプ・アプリケーションとして登録するインストーラを作成するリクエスト。
アプリケーション・パッケージを作成するためのプラットフォーム依存オプション:
Windowsプラットフォームのオプション(Windowsで実行中のみ使用可能):
--win-dir-chooser-
製品がインストールされているディレクトリをユーザーが選択できるダイアログを追加します。
--win-help-urlurl-
ユーザーが詳細な情報またはテクニカル・サポートを取得できるURL
--win-menu-
このアプリケーションのスタート・メニュー・ショートカットの追加リクエスト
--win-menu-groupmenu-group-name-
このアプリケーションが配置されるスタート・メニュー・グループ
--win-per-user-install-
ユーザーごとにインストールを実行するリクエスト
--win-shortcut-
このアプリケーションのデスクトップ・ショートカットの作成をリクエスト
--win-shortcut-prompt-
インストーラによってショートカットを作成するかどうかをユーザーが選択できるようにするためのダイアログを追加
--win-update-urlurl-
使用可能なアプリケーション更新情報のURL
--win-upgrade-uuidid-
このパッケージのアップグレードに関連付けられたUUID
Linuxプラットフォームのオプション(Linuxで実行中のみ使用可能):
--linux-package-namename-
Linuxパッケージの名前
デフォルトはアプリケーション名です。
--linux-deb-maintaineremail-address-
.debバンドルの保守者
--linux-menu-groupmenu-group-name-
このアプリケーションが配置されるメニュー・グループ
--linux-package-deps-
アプリケーションに必要なパッケージまたは機能
--linux-rpm-license-typetype-
ライセンスのタイプ (RPM .specの"License: value")
--linux-app-releaserelease-
DEB制御ファイルのRPM <name>.specファイルまたはDebianリビジョン値のリリース値
--linux-app-categorycategory-value-
RPM /
.specファイルまたはDEB制御ファイルのセクション値のグループ値 --linux-shortcut-
アプリケーションのショートカットを作成します。
macOSプラットフォームのオプション(macOSで実行中のみ使用可能):
--mac-dmg-contentadditional-content [,additional-content...]-
参照されているすべてのコンテンツをdmgに含めます。
このオプションは複数回使用できます。
jpackageの例
Generate an application package suitable for the host system:
For a modular application:
jpackage -n name -p modulePath -m moduleName/className
For a non-modular application:
jpackage -i inputDir -n name \
--main-class className --main-jar myJar.jar
From a pre-built application image:
jpackage -n name --app-image appImageDir
Generate an application image:
For a modular application:
jpackage --type app-image -n name -p modulePath \
-m moduleName/className
For a non-modular application:
jpackage --type app-image -i inputDir -n name \
--main-class className --main-jar myJar.jar
To provide your own options to jlink, run jlink separately:
jlink --output appRuntimeImage -p modulePath \
--add-modules moduleName \
--no-header-files [<additional jlink options>...]
jpackage --type app-image -n name \
-m moduleName/className --runtime-image appRuntimeImage
Generate a Java runtime package:
jpackage -n name --runtime-image <runtime-image>
Sign the predefined application image (on macOS):
jpackage --type app-image --app-image <app-image> \
--mac-sign [<additional signing options>...]
Note: the only additional options that are permitted in this mode are:
the set of additional mac signing options and --verbose
jpackageリソース・ディレクトリ
このディレクトリに置換リソースを追加することで、jpackageのアイコン、テンプレート・ファイルおよびその他のリソースを上書きできます。jpackageは、リソース・ディレクトリ内の特定の名前でファイルをルックアップします。
Linuxで実行する場合にのみ考慮されるリソース・ディレクトリ・ファイル:
<launcher-name>.png-
アプリケーション起動アイコン
デフォルト・リソースはJavaApp.pngです
<launcher-name>.desktop-
xdg-desktop-menuコマンドで使用されるデスクトップ・ファイルファイルの関連付けまたはアイコン(あるいはその両方)に登録されたアプリケーション・ランチャを考慮
デフォルト・リソースはtemplate.desktopです
Linux DEB/RPMインストーラを作成する場合にのみ考慮されるリソース・ディレクトリ・ファイル:
<package-name>-<launcher-name>.service-
バックグラウンド・サービス・タイプ・アプリケーションとして登録されたアプリケーション・ランチャのsystemdユニット・ファイル
デフォルト・リソースはunit-template.serviceです
Linux RPMインストーラを作成する場合にのみ考慮されるリソース・ディレクトリ・ファイル:
<package-name>.spec-
RPM仕様ファイル
デフォルト・リソースはtemplate.specです
Linux DEBインストーラを作成する場合にのみ考慮されるリソース・ディレクトリ・ファイル:
control-
制御ファイル
デフォルト・リソースはtemplate.controlです
copyright-
コピーライト・ファイル
デフォルト・リソースはtemplate.copyrightです
preinstall-
プレ・インストール・シェル・スクリプト
デフォルト・リソースはtemplate.preinstallです
prerm-
シェル・スクリプトの削除前
デフォルト・リソースはtemplate.prermです
postinstall-
インストール後シェル・スクリプト
デフォルト・リソースはtemplate.postinstallです
postrm-
削除後シェル・スクリプト
デフォルト・リソースはtemplate.postrmです
Windowsで実行する場合にのみ考慮されるリソース・ディレクトリ・ファイル:
<launcher-name>.ico-
アプリケーション起動アイコン
デフォルト・リソースはJavaApp.icoです
<launcher-name>.properties-
アプリケーション起動ツール実行可能ファイルのプロパティ・ファイル
デフォルト・リソースはWinLauncher.templateです
Windows MSI/EXEインストーラを作成する場合にのみ考慮されるリソース・ディレクトリ・ファイル:
<application-name>-post-image.wsf-
アプリケーション・イメージの構築後に実行するWindowsスクリプト・ファイル(WSF)
main.wxs-
メインWiXプロジェクト・ファイル
デフォルト・リソースはmain.wxsです
overrides.wxi-
WiXプロジェクト・ファイルのオーバーライド
デフォルト・リソースはoverrides.wxiです
service-installer.exe-
サービス・インストーラの実行可能ファイル
一部のアプリケーション・ランチャがバックグラウンド・サービス・タイプ・アプリケーションとして登録されている場合に考慮されます
<launcher-name>-service-install.wxi-
サービス・インストーラのWiXプロジェクト・ファイル
一部のアプリケーション・ランチャがバックグラウンド・サービス・タイプ・アプリケーションとして登録されている場合に考慮されます
デフォルト・リソースはservice-install.wxiです
<launcher-name>-service-config.wxi-
サービス・インストーラのWiXプロジェクト・ファイル
一部のアプリケーション・ランチャがバックグラウンド・サービス・タイプ・アプリケーションとして登録されている場合に考慮されます
デフォルト・リソースはservice-config.wxiです
InstallDirNotEmptyDlg.wxs-
インストール・ディレクトリをチェックするインストーラUIダイアログのWiXプロジェクト・ファイルが存在しないか、空です
デフォルト・リソースはInstallDirNotEmptyDlg.wxsです
ShortcutPromptDlg.wxs-
インストーラUIダイアログの構成ショートカット用のWiXプロジェクト・ファイル
デフォルト・リソースはShortcutPromptDlg.wxsです
bundle.wxf-
アプリケーション・イメージのコンポーネントの階層を含むWiXプロジェクト・ファイル
ui.wxf-
インストーラUI用のWiXプロジェクト・ファイル
Windows EXEインストーラを作成する場合にのみ考慮されるリソース・ディレクトリ・ファイル:
WinInstaller.properties-
インストーラ実行可能ファイルのプロパティ・ファイル
デフォルト・リソースはWinInstaller.templateです
<package-name>-post-msi.wsf-
EXEインストーラ用の組込みMSIインストーラを構築した後に実行するWindowsスクリプト・ファイル(WSF)
macOSで実行する場合にのみ考慮されるリソース・ディレクトリ・ファイル:
<launcher-name>.icns-
アプリケーション起動アイコン
デフォルト・リソースはJavaApp.icnsです
Info.plist-
アプリケーション・プロパティ・リスト・ファイル
デフォルト・リソースはInfo-lite.plist.templateです
Runtime-Info.plist-
Javaランタイム・プロパティ・リスト・ファイル
デフォルト・リソースはRuntime-Info.plist.templateです
<application-name>.entitlements-
署名資格プロパティ・リスト・ファイル
デフォルト・リソースはsandbox.plistです
macOS PKG/DMGインストーラの作成時にのみ考慮されるリソース・ディレクトリ・ファイル:
<package-name>-post-image.sh-
アプリケーション・イメージの構築後に実行するシェル・スクリプト
macOS PKGインストーラの作成時にのみ考慮されるリソース・ディレクトリ・ファイル:
uninstaller-
アンインストーラのシェル・スクリプト
一部のアプリケーション・ランチャがバックグラウンド・サービス・タイプ・アプリケーションとして登録されている場合に考慮されます
デフォルト・リソースはuninstall.command.templateです
preinstall-
プレ・インストール・シェル・スクリプト
デフォルト・リソースはpreinstall.templateです
postinstall-
インストール後シェル・スクリプト
デフォルト・リソースはpostinstall.templateです
services-preinstall-
サービス・パッケージのインストール前のシェル・スクリプト
一部のアプリケーション・ランチャがバックグラウンド・サービス・タイプ・アプリケーションとして登録されている場合に考慮されます
デフォルト・リソースはservices-preinstall.templateです
services-postinstall-
サービス・パッケージのインストール後シェル・スクリプト
一部のアプリケーション・ランチャがバックグラウンド・サービス・タイプ・アプリケーションとして登録されている場合に考慮されます
デフォルト・リソースはservices-postinstall.templateです
<package-name>-background.png-
背景イメージ
デフォルト・リソースはbackground_pkg.pngです
<package-name>-background-darkAqua.png-
暗いバックグラウンド・イメージ
デフォルト・リソースはbackground_pkg.pngです
product-def.plist-
パッケージ・プロパティ・リスト・ファイル
デフォルト・リソースはproduct-def.plistです
<package-name>-<launcher-name>.plist-
バックグラウンド・サービス・タイプ・アプリケーションとして登録されたアプリケーション・ランチャの起動プロパティ・リスト・ファイル
デフォルト・リソースはlaunchd.plist.templateです
macOS DMGインストーラの作成時にのみ考慮されるリソース・ディレクトリ・ファイル:
<package-name>-dmg-setup.scpt-
AppleScriptスクリプトの設定
デフォルト・リソースはDMGsetup.scptです
<package-name>-license.plist-
ライセンス・プロパティ・リスト・ファイル
デフォルト・リソースはlic_template.plistです
<package-name>-background.tiff-
背景イメージ
デフォルト・リソースはbackground_dmg.tiffです
<package-name>-volume.icns-
ボリューム・アイコン
デフォルト・リソースはJavaApp.icnsです