名前
jpackage - 自己完結型Javaアプリケーションをパッケージ化するためのツール。
シノプシス
jpackage
[options]
- options
- スペースで区切ったコマンド行オプション。 「jpackageオプション」を参照してください。
説明
jpackage
ツールは、JavaアプリケーションとJavaランタイム・イメージを入力として取り、必要な依存関係をすべて含むJavaアプリケーション・イメージを生成します。 ネイティブ・パッケージは、Windowsでの実行やmacOSでのdmgなどのプラットフォーム固有の形式で生成できます。 各形式は実行するプラットフォーム上に構築する必要があり、クロス・プラットフォーム・サポートはありません。 ツールには、パッケージ・アプリケーションを様々な方法でカスタマイズできるオプションがあります。
jpackageオプション
一般的なオプション:
@
filenameファイルからオプションを読み取ります。
このオプションは複数回使用できます。
--type
または-t
type作成するパッケージのタイプ
有効な値は次のとおりです: {"app-image", "exe", "msi", "rpm", "deb", "pkg", "dmg"}
このオプションが指定されない場合、プラットフォーム依存のデフォルト・タイプが作成されます。
--app-version
versionアプリケーションおよびパッケージのバージョン
--copyright
copyrightアプリケーションのコピーライト
--description
descriptionアプリケーションの説明
--help
または-h
現行のプラットフォームで出力ストリームに対して有効な各オプションのリストと説明を出力し、終了します。
--icon
pathアプリケーション・パッケージのアイコンのパス
(絶対パスまたは現在のディレクトリからの相対パス)
--name
または-n
nameアプリケーションおよびパッケージの名前
--dest
または-d
destination生成された出力ファイルが配置されるパス
(絶対パスまたは現在のディレクトリからの相対パス)
デフォルトは現在の作業ディレクトリです。
--temp
directory一時ファイルの作成に使用される新規または空のディレクトリのパス
(絶対パスまたは現在のディレクトリからの相対パス)
指定した場合、タスクの完了時に一時ディレクトリは削除されず、手動で削除する必要があります。
指定しない場合は、タスクの完了時に一時ディレクトリが作成および削除されます。
--vendor
vendorアプリケーションのベンダー
--verbose
詳細出力を有効にします。
--version
製品バージョンを出力ストリームに出力して終了します
ランタイム・イメージを作成するためのオプション:
--add-modules
module-name [,
module-name...]追加するモジュールのカンマ(",")区切りリスト
このモジュール・リストは、メイン・モジュールの(指定されている場合)とともにjlinkに--add-module引数として渡されます。 指定しない場合は、メイン・モジュールの(--moduleが指定されている場合)のみ、または(--main-jarが指定されている場合)モジュールのデフォルト・セットが使用されます。
このオプションは複数回使用できます。
--module-path
または-p
module-path [,
module-path...]パスのFile.pathSeparator区切りリスト
各パスは、モジュールのディレクトリまたはモジュラjarへのパスで、絶対パスまたは現在のディレクトリからの相対パスです。
このオプションは複数回使用できます。
--jlink-options
optionsjlinkに渡すオプションのスペース区切りのリスト
指定しない場合、"--strip-native-commands --strip-debug --no-man-pages --no-header-files"にデフォルト設定されます
このオプションは複数回使用できます。
--runtime-image
directoryアプリケーション・イメージにコピーされる事前定義済ランタイム・イメージのパス
(絶対パスまたは現在のディレクトリからの相対パス)
--runtime-imageが指定されていない場合、jpackageはjlinkを実行して、--jlink-optionsで指定されたオプションを使用してランタイム・イメージを作成します。
アプリケーション・イメージを作成するためのオプション:
--input
または-i
directoryパッケージ化するファイルを含む入力ディレクトリへのパス
(絶対パスまたは現在のディレクトリからの相対パス)
入力ディレクトリ内のすべてのファイルがアプリケーション・イメージにパッケージ化されます。
- `--app-content additional-content[,additional-content...]
アプリケーション・ペイロードに追加するファイルまたはディレクトリ(あるいはその両方)へのパスのカンマ区切りリスト。
このオプションは複数回使用できます。
アプリケーション・ランチャを作成するためのオプション:
--add-launcher
name=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"を使用できます。
これらのオプションは、追加の代替ランチャを構築するために、元のコマンドライン・オプションに追加するか、または上書きするために使用します。 メイン・アプリケーション・ランチャは、コマンド行オプションから構築されます。 このオプションを使用して追加の代替ランチャを構築でき、このオプションを複数回使用して複数の追加のランチャを構築できます。
--arguments
arguments起動ツールにコマンドライン引数が指定されていない場合にメイン・クラスに渡すコマンドライン引数
このオプションは複数回使用できます。
--java-options
optionsJavaランタイムに渡すオプション
このオプションは複数回使用できます。
--main-class
class-name実行するアプリケーション・メイン・クラスの修飾名
このオプションを使用できるのは、--main-jarが指定されている場合だけです。
--main-jar
main-jarアプリケーションの主なJAR(メイン・クラス(入力パスに対して相対パスとして指定されます)を含む)
--moduleまたは--main-jarオプションのいずれかを指定できますが、両方は指定できません。
--module
または-m
module-name [/main-class]アプリケーションのメイン・モジュール(およびオプションでメイン・クラス)
このモジュールは、モジュール・パスに置かれている必要があります。
このオプションを指定すると、メイン・モジュールがJavaランタイム・イメージ内でリンクされます。 --moduleまたは--main-jarオプションのいずれかを指定できますが、両方は指定できません。
アプリケーション・ランチャを作成するためのプラットフォーム依存オプション:
Windowsプラットフォームのオプション(Windowsで実行中のみ使用可能):
--win-console
アプリケーションのコンソール・ランチャを作成します。コンソール対話が必要なアプリケーションに対して指定する必要があります
macOSプラットフォームのオプション(macOSで実行中のみ使用可能):
--mac-package-identifier
identifiermacOSのアプリケーションを一意に識別する識別子
デフォルトはメイン・クラス名です。
使用できるのは、英数字の(A-Z,a-z,0-9)、ハイフン(-)および期間(.)文字のみです。
--mac-package-name
nameメニュー・バーに表示されるアプリケーションの名前
これは、アプリケーション名と異なる場合があります。
この名前は16文字未満で、メニュー・バーおよびアプリケーションの情報ウィンドウに表示するのに適しています。 デフォルトはアプリケーション名です。
--mac-package-signing-prefix
prefixアプリケーション・パッケージに署名する場合、この値は、既存のパッケージ識別子を持たない署名する必要があるすべてのコンポーネントにプレフィクスとして付けられます。
--mac-sign
パッケージまたは定義済みのアプリケーション・イメージへの署名をリクエストします。
--mac-signing-keychain
keychain-name署名アイデンティティを検索するキー・チェーンの名前
指定しない場合は、標準のキー・チェーンが使用されます。
--mac-signing-key-user-name
nameAppleの署名IDのチームまたはユーザー名部分
--mac-app-store
jpackage出力がMac App Storeを対象としていることを示します。
--mac-entitlements
pathバンドル内の実行可能ファイルおよびライブラリに署名するときに使用する資格を含むファイルへのパス
--mac-app-category
categoryアプリケーション・レートでLSApplicationCategoryTypeを作成するために使用する文字列
デフォルト値は"ユーティリティ"です。
アプリケーション・パッケージを作成するためのオプション:
--about-url
urlアプリケーションのホームページのURL
--app-image
directoryインストール可能なパッケージ(すべてのプラットフォーム)の構築または(on macOS)への署名に使用される事前定義済アプリケーション・イメージのロケーション
(絶対パスまたは現在のディレクトリからの相対パス)
--file-associations
pathキー、値のペアのリストを含むプロパティ・ファイルへのパス
(絶対パスまたは現在のディレクトリからの相対パス)
キー"extension"、"mime-type"、"icon"および"description"を使用して関連付けを記述できます。
このオプションは複数回使用できます。
--install-dir
pathアプリケーション(macOSまたはlinux)のインストール・ディレクトリの絶対パス、または"プログラム・ファイル"や"AppData" (Windows上で)などのインストール・ディレクトリの相対サブパス
--license-file
pathライセンス・ファイルへのパス
(絶対パスまたは現在のディレクトリからの相対パス)
--resource-dir
pathオーバーライドjpackageリソースへのパス
(絶対パスまたは現在のディレクトリからの相対パス)
このディレクトリに置換リソースを追加することによって、jpackageのアイコン、テンプレート・ファイルおよびその他のリソースを上書きできます。
--runtime-image
pathインストールする事前定義済みのランタイム・イメージのパス
(絶対パスまたは現在のディレクトリからの相対パス)
ランタイム・インストーラの作成時にはオプションが必要です。
--launcher-as-service
メイン・アプリケーション・ランチャをバックグラウンド・サービス・タイプ・アプリケーションとして登録するインストーラを作成するリクエスト。
アプリケーション・パッケージを作成するためのプラットフォーム依存オプション:
Windowsプラットフォームのオプション(Windowsで実行中のみ使用可能):
--win-dir-chooser
製品がインストールされているディレクトリをユーザーが選択できるダイアログを追加します。
--win-help-url
urlユーザーが詳細な情報またはテクニカル・サポートを取得できるURL
--win-menu
このアプリケーションのスタート・メニュー・ショートカットの追加リクエスト
--win-menu-group
menu-group-nameこのアプリケーションが配置されるスタート・メニュー・グループ
--win-per-user-install
ユーザーごとにインストールを実行するリクエスト
--win-shortcut
このアプリケーションのデスクトップ・ショートカットの作成をリクエスト
--win-shortcut-prompt
インストーラによってショートカットを作成するかどうかをユーザーが選択できるようにするためのダイアログを追加
--win-update-url
url使用可能なアプリケーション更新情報のURL
--win-upgrade-uuid
idこのパッケージのアップグレードに関連付けられたUUID
Linuxプラットフォームのオプション(Linuxで実行中のみ使用可能):
--linux-package-name
nameLinuxパッケージの名前
デフォルトはアプリケーション名です。
--linux-deb-maintainer
email-address.debバンドルの保守者
--linux-menu-group
menu-group-nameこのアプリケーションが配置されるメニュー・グループ
--linux-package-deps
アプリケーションに必要なパッケージまたは機能
--linux-rpm-license-type
typeライセンスのタイプ (RPM .specの"License: value")
--linux-app-release
releaseDEB制御ファイルのRPM <name>.specファイルまたはDebianリビジョン値のリリース値
--linux-app-category
category-valueRPM /
.specファイルまたはDEB制御ファイルのセクション値のグループ値 --linux-shortcut
アプリケーションのショートカットを作成します。
macOSプラットフォームのオプション(macOSで実行中のみ使用可能):
- '--mac-dmg-content additional-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です