名前
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-optionsoptionsjlinkに渡すオプションのスペース区切りのリスト
指定しない場合、"--strip-native-commands --strip-debug --no-man-pages --no-header-files"にデフォルト設定されます
このオプションは複数回使用できます。
--runtime-imagedirectoryアプリケーション・イメージにコピーされる事前定義済ランタイム・イメージのパス
(絶対パスまたは現在のディレクトリからの相対パス)
--runtime-imageが指定されていない場合、jpackageはjlinkを実行して、--jlink-optionsで指定されたオプションを使用してランタイム・イメージを作成します。
アプリケーション・イメージを作成するためのオプション:
--inputまたは-idirectoryパッケージ化するファイルを含む入力ディレクトリへのパス
(絶対パスまたは現在のディレクトリからの相対パス)
入力ディレクトリ内のすべてのファイルがアプリケーション・イメージにパッケージ化されます。
- `--app-content additional-content[,additional-content...]
アプリケーション・ペイロードに追加するファイルまたはディレクトリ(あるいはその両方)へのパスのカンマ区切りリスト。
このオプションは複数回使用できます。
アプリケーション・ランチャを作成するためのオプション:
--add-launchername=pathランチャの名前、およびキー、値ペアのリストを含むプロパティ・ファイルへのパス
(絶対パスまたは現在のディレクトリからの相対パス)
キー"module"、"main-jar"、"main-class"、"arguments"、"java-options"、"app-version"、"icon"、"win-console"、"win-shortcut"、"win-menu"、"linux-app-category"および"linux-shortcut"を使用できます。
これらのオプションは、追加の代替ランチャを構築するために、元のコマンドライン・オプションに追加するか、または上書きするために使用します。 メイン・アプリケーション・ランチャは、コマンド行オプションから構築されます。 このオプションを使用して追加の代替ランチャを構築でき、このオプションを複数回使用して複数の追加のランチャを構築できます。
--argumentsarguments起動ツールにコマンドライン引数が指定されていない場合にメイン・クラスに渡すコマンドライン引数
このオプションは複数回使用できます。
--java-optionsoptionsJavaランタイムに渡すオプション
このオプションは複数回使用できます。
--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-identifieridentifiermacOSのアプリケーションを一意に識別する識別子
デフォルトはメイン・クラス名です。
使用できるのは、英数字の(A-Z,a-z,0-9)、ハイフン(-)および期間(.)文字のみです。
--mac-package-namenameメニュー・バーに表示されるアプリケーションの名前
これは、アプリケーション名と異なる場合があります。
この名前は16文字未満で、メニュー・バーおよびアプリケーションの情報ウィンドウに表示するのに適しています。 デフォルトはアプリケーション名です。
--mac-package-signing-prefixprefixアプリケーション・パッケージに署名する場合、この値は、既存のパッケージ識別子を持たない署名する必要があるすべてのコンポーネントにプレフィクスとして付けられます。
--mac-signバンドルに署名をリクエストします。
--mac-signing-keychainkeychain-name署名アイデンティティを検索するキー・チェーンの名前
指定しない場合は、標準のキー・チェーンが使用されます。
--mac-signing-key-user-namenameAppleの署名IDのチームまたはユーザー名部分
--mac-app-storejpackage出力がMac App Storeを対象としていることを示します。
--mac-entitlementspathバンドル内の実行可能ファイルおよびライブラリに署名するときに使用する資格を含むファイルへのパス
--mac-app-categorycategoryアプリケーション・レートでLSApplicationCategoryTypeを作成するために使用する文字列
デフォルト値は"ユーティリティ"です。
アプリケーション・パッケージを作成するためのオプション:
--about-urlurlアプリケーションのホームページのURL
--app-imagedirectoryインストール可能なパッケージの構築に使用される事前定義済アプリケーション・イメージのロケーション
(絶対パスまたは現在のディレクトリからの相対パス)
アプリケーション・イメージを作成するには、create-app-imageモード・オプションを参照してください。
--file-associationspathキー、値のペアのリストを含むプロパティ・ファイルへのパス
(絶対パスまたは現在のディレクトリからの相対パス)
キー"extension"、"mime-type"、"icon"および"description"を使用して関連付けを記述できます。
このオプションは複数回使用できます。
--install-dirpathアプリケーション(on macos or linux)のインストール・ディレクトリの絶対パス、または"プログラム・ファイル"や"AppData" (Windows上で)などのインストール・ディレクトリの相対パス
--license-filepathライセンス・ファイルへのパス
(絶対パスまたは現在のディレクトリからの相対パス)
--resource-dirpathオーバーライドjpackageリソースへのパス
(絶対パスまたは現在のディレクトリからの相対パス)
このディレクトリに置換リソースを追加することによって、jpackageのアイコン、テンプレート・ファイルおよびその他のリソースを上書きできます。
--runtime-imagepathインストールする事前定義済みのランタイム・イメージのパス
(絶対パスまたは現在のディレクトリからの相対パス)
ランタイム・インストーラの作成時にはオプションが必要です。
アプリケーション・パッケージを作成するためのプラットフォーム依存オプション:
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-namenameLinuxパッケージの名前
デフォルトはアプリケーション名です。
--linux-deb-maintaineremail-address.debバンドルの保守者
--linux-menu-groupmenu-group-nameこのアプリケーションが配置されるメニュー・グループ
--linux-package-depsアプリケーションに必要なパッケージまたは機能
--linux-rpm-license-typetypeライセンスのタイプ ("License: RPM .specのvalue)
--linux-app-releasereleaseDEB制御ファイルのRPM <name>.specファイルまたはDebianリビジョン値のリリース値
--linux-app-categorycategory-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>