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