jarコマンド

機械翻訳について

名前

jar - クラスおよびリソースのアーカイブを作成し、アーカイブから個々のクラスまたはリソースを操作またはリストア

シノプシス

jar [OPTION ...] [ [--release VERSION] [-C dir] files] ...

説明

jarコマンドは、ZIPおよびZLIBの圧縮形式に基づいた汎用のアーカイブおよび圧縮ツールです。 jarコマンドは当初、Javaアプレット(JDK 11以降はサポート対象外)やアプリケーションをパッケージ化することを目的としていましたが、JDK 9以降は、モジュラJARの作成にjarコマンドを使用できます。 転送やデプロイの場合は通常、モジュールをモジュラJARとしてパッケージ化した方が便利です。

jarコマンドの構文は、tarコマンドの構文と似ています。 必須の操作引数の1つによって定義されるいくつかの主な操作モードを持っています。 その他の引数は、操作の動作を変更するオプションか、操作を実行するために必要なオプションです。

モジュールまたはアプリケーションのコンポーネント(ファイル、イメージおよびサウンド)が1つのアーカイブに結合されていると、Javaエージェント(ブラウザなど)は、それらのコンポーネントを1回のHTTPトランザクションでダウンロードすることができ、コンポーネントごとに新しい接続を必要とすることがありません。 これによって、ダウンロードの回数が大幅に減ります。 また、jarコマンドはファイルを圧縮するので、ダウンロード時間もさらに短くなります。 また、jarコマンドを使用すると、ファイル内の個々のエントリに署名を書き込めるので、配布元の認証が可能になります。 JARファイルは、圧縮されているかどうかにかかわらず、クラス・パスのエントリとして使用できます。

特定のディレクトリのルートまたは.jarアーカイブのルートにモジュール・ディスクリプタmodule-info.classを含めると、アーカイブはモジュラJARになります。 次の操作(「作成および更新モードでのみ有効な操作修飾子」を参照)は、モジュラJARの作成または更新時、あるいは既存の非モジュラJARの更新時にのみ有効です。

ノート:

ロング・オプションのすべての必須またはオプション引数は、対応するショート・オプションについても必須またはオプションです。

主な動作モード

jarコマンドを使用する際、実行する操作を指定する必要があります。 jarコマンドの操作モードを指定するには、この項で説明されている適切な操作引数を含めます。 操作引数を他の1文字オプションと混在させることができます。 一般にoperation引数は、コマンドラインで指定された最初の引数です。

-cまたは--create
アーカイブを作成します。
-i= FILEまたは--generate-index= FILE
指定されたJARファイルの索引情報を生成します。
-tまたは--list
アーカイブの目次を一覧表示します。
-uまたは--update
既存のJARファイルを更新します。
-xまたは--extract
指定された(またはすべて)ファイルをアーカイブから抽出します。
-d or --describe-module
モジュール・ディスクリプタまたは自動モジュール名を出力します。

任意のモードで有効な操作修飾子

次のオプションは、jarコマンドに含めた操作モードの動作をカスタマイズするのに使用できます。

-C DIR

指定されたディレクトリを変更し、コマンド行の最後にfilesの指定を含めます。

jar [OPTION ...] [ [--release VERSION] [-C dir] files]

-f= FILEまたは--file= FILE
アーカイブ・ファイル名を指定します。
--release VERSION

マルチリリースJARファイルを作成します。 オプションの後に指定したすべてのファイルを、META-INF/versions/ VERSION /という名前のJARファイルのバージョニングされたディレクトリに配置します。VERSIONは、値を9以上にする正の整数にする必要があります。

実行時、JAR内にクラスのバージョンが複数存在する場合、JDKでは初めに、VERSION番号がJDKのメジャー・バージョン番号と一致するディレクトリ・ツリーで検索し、最初に検出されたバージョンを使用します。 その後、順次低いVERSION番号のディレクトリを調べ、最終的にJARのルートを調べます。

-vまたは--verbose
冗長出力を標準出力に送信または出力します。

作成モードと更新モードでのみ有効な操作修飾子

次のオプションを使用して、作成および更新メイン操作モードのアクションをカスタマイズできます:

-e= CLASSNAMEまたは--main-class= CLASSNAME
モジュラJARファイルまたは実行可能なモジュラJARファイルにバンドルされたスタンドアロン・アプリケーションのアプリケーション・エントリ・ポイントを指定します。
-m= FILEまたは--manifest= FILE
指定されたマニフェスト・ファイルからのマニフェスト情報を含みます。
-Mまたは--no-manifest
エントリに対してマニフェスト・ファイルを作成しません。
--module-version=VERSION
モジュラJARファイルの作成または更新時、あるいは非モジュラJARファイルの更新時にモジュール・バージョンを指定します。
--hash-modules=PATTERN
指定されたパターンでマッチしたモジュールのハッシュを計算し、記録します。このハッシュは、作成されるモジュール式JARファイルまたは更新される非モジュール型JARファイルに直接的または間接的に依存します。
-pまたは--module-path
ハッシュを生成するためのモジュール依存のロケーションを指定します。
@file
テキスト・ファイルからjarオプションおよびファイル名を読み取ります。

作成、更新、および生成インデックス・モードでのみ有効な操作修飾子

次のオプションを使用して、更新(-uまたは--update)および世代索引(-iまたは--generate-index= FILE)のメイン操作モードの作成(-cまたは--create)のアクションをカスタマイズできます:

-0または--no-compress
ZIPによる圧縮を使用せずに、保存します。

その他のオプション

次のオプションは、jarコマンドで認識されますが、操作モードでは使用されません。

-hまたは--help [:compat]
jarコマンドのコマンド行ヘルプまたはオプションで互換性ヘルプを表示します。
--help-extra
余分なオプションについてのヘルプを表示します。
--version
プログラムのバージョンを印刷します。

jarコマンド構文の例