jar.1 revision 1178
0N/A." Copyright 2004-2006 Sun Microsystems, Inc. All Rights Reserved.
0N/A." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
0N/A."
0N/A." This code is free software; you can redistribute it and/or modify it
2362N/A." under the terms of the GNU General Public License version 2 only, as
0N/A." published by the Free Software Foundation.
0N/A."
0N/A." This code is distributed in the hope that it will be useful, but WITHOUT
0N/A." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
2362N/A." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
0N/A." version 2 for more details (a copy is included in the LICENSE file that
2362N/A." accompanied this code).
0N/A."
0N/A." You should have received a copy of the GNU General Public License version
0N/A." 2 along with this work; if not, write to the Free Software Foundation,
0N/A." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
0N/A."
0N/A." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
0N/A." CA 95054 USA or visit www.sun.com if you need additional information or
0N/A." have any questions.
0N/A."
0N/A.TH jar 1 "04 May 2009"
0N/A." Generated from HTML by html2man (author: Eric Armstrong)
2365N/A
2365N/A.LP
2365N/A.SH "名前"
0N/Ajar \- Java ARchive ツール
0N/A.LP
0N/A\f3jar\fP は複数のファイルを 1 つの JAR アーカイブファイルに結合します。
0N/A.RS 3
0N/A.TP 2
0N/Ao
0N/A形式
0N/A.TP 2
0N/Ao
0N/A説明
0N/A.TP 2
0N/Ao
0N/Aオプション
0N/A.TP 2
0N/Ao
0N/Aコマンド行引数ファイル
0N/A.TP 2
0N/Ao
0N/A
0N/A.TP 2
0N/Ao
0N/A関連項目
0N/A.RE
0N/A
0N/A.LP
0N/A.SH "形式"
0N/A.LP
0N/A
0N/A.LP
0N/A.RS 3
0N/A.TP 3
0N/AJAR ファイルの作成
0N/A\f4jar c\fP\f2[v0Mmfe] [\fP\f2manifest\fP\f2] [\fP\f2jarfile\fP\f2] [\fP\f2entrypoint\fP\f2] [\-C\fP \f2dir\fP\f2]\fP \f2inputfiles\fP \f2[\-J\fP\f2option\fP\f2]\fP
0N/A.TP 3
0N/AJAR ファイルの更新
0N/A\f4jar u\fP\f2[v0Mmfe] [\fP\f2manifest\fP\f2] [\fP\f2jarfile\fP\f2] [\fP\f2entrypoint\fP\f2] [\-C\fP \f2dir\fP\f2]\fP \f2inputfiles\fP \f2[\-J\fP\f2option\fP\f2]\fP
0N/A.TP 3
0N/AJAR ファイルの抽出
0N/A\f4jar x\fP\f2[vf] [\fP\f2jarfile\fP\f2] [\fP\f2inputfiles\fP\f2] [\-J\fP\f2option\fP\f2]\fP
0N/A.TP 3
0N/AJAR ファイルの内容の表形式による一覧表示
0N/A\f4jar t\fP\f2[vf] [\fP\f2jarfile\fP\f2] [\fP\f2inputfiles\fP\f2] [\-J\fP\f2option\fP\f2]\fP
0N/A.TP 3
0N/AJAR ファイルへのインデックスの追加
0N/A\f4jar i\fP \f2jarfile\fP \f2[\-J\fP\f2option\fP\f2]\fP
0N/A.RE
0N/A
0N/A.LP
0N/A.LP
0N/A説明
0N/A.LP
0N/A.RS 3
0N/A
0N/A.LP
0N/A.RS 3
0N/A.TP 3
0N/Acuxtiv0Mmfe
0N/A\f2jar\fP コマンドを制御するオプション
0N/A.TP 3
0N/Ajarfile
0N/A作成 (\f2c\fP)、更新 (\f2u\fP)、抽出 (\f2x\fP)、または内容の一覧表示 (\f2t\fP) の対象となる JAR ファイル。\f2f\fP オプションとファイル名 \f2jarfile\fP とがペアになります。 つまり、片方を記述すれば、もう一方も記述する必要があります。\f2f\fP と \f2jarfile\fP を省略すると、標準入力から「JAR ファイル」が取得されるか (x および t の場合)、標準出力へ「JAR ファイル」が送信されます(c および u の場合)。
0N/A.TP 3
0N/Ainputfiles
0N/A\f2jarfile\fP に結合されるか (c および u の場合)、\f2jarfile\fP から抽出 (x の場合) または一覧表示 (t の場合) される、空白で区切られたファイルまたはディレクトリ。すべてのディレクトリは再帰的に処理されます。このファイルは、オプション \f2O\fP (ゼロ) を使用しないかぎり圧縮されます。
0N/A.TP 3
0N/Amanifest
0N/A\f2name\fP\f2:\fP\f2value\fP のペアが、JAR ファイルの MANIFEST.MF に含まれている既存のマニフェストファイル。\f2\-m\fP オプションとファイル名 \f2manifest\fP とがペアになります。 つまり、片方を記述すれば、もう一方も記述する必要があります。\f3m\fP、\f3f\fP、および \f3e\fP の出現順序は、\f2manifest\fP、\f2jarfile\fP、\f2entrypoint\fP の出現順序と一致する必要があります。
0N/A.TP 3
0N/Aentrypoint
0N/A実行可能 JAR ファイル内にバンドルされたスタンドアロンアプリケーションのアプリケーションエントリポイントとして設定するクラスの名前。\f2\-e\fP オプションと entrypoint は対になっています。 どちらかを指定する場合は両方とも指定する必要があります。\f3m\fP、\f3f\fP、および \f3e\fP の出現順序は、\f2manifest\fP、\f2jarfile\fP、\f2entrypoint\fP の出現順序と一致する必要があります。
0N/A.TP 3
0N/A\-C\ dir
0N/Aこれに続く \f2inputfiles\fP 引数を処理する間、ディレクトリを \f2dir\fP へ一時的に変更します。\f2\-C\ \fP\f2dir\fP \f2inputfiles\fP のセットは複数使用できます。
0N/A.TP 3
0N/A\-Joption
0N/AJava 実行環境へ渡されるオプション。\f2\-J\fP と \f2option\fP の間には空白を入れないでください。
0N/A.RE
0N/A
0N/A.LP
0N/A.RE
0N/A.SH "説明"
0N/A.LP
0N/A
0N/A.LP
0N/A\f3jar\fP ツールは、複数のファイルを 1 つの JAR アーカイブファイルに結合します。 \f3jar\fP は、ZIP および
0N/A.na
0N/A\f2ZLIB\fP @
0N/A.fi
0N/Ahttp://www.gzip.org/zlib/ 圧縮形式をベースにした、汎用のアーカイブおよび圧縮ツールです。ただし \f3jar\fP ツールの主な目的は、いくつかの Java アプレットやアプリケーションを 1 個のアーカイブに統合することです。アプレットやアプリケーションのコンポーネント (ファイル、イメージ、およびサウンド) が 1 つのアーカイブに結合されていると、Java エージェント (ブラウザなど) は、それらのコンポーネントを 1 回の HTTP トランザクションでダウンロードすることができ、コンポーネントごとに新しい接続を必要とすることがありません。これによって、ダウンロードの回数が大幅に減ります。 また、\f3jar\fP はファイルを圧縮するので、ダウンロード時間も短くなります。また、ファイル内の個々のエントリにアプレット作成者による署名を書き込めるので、配布元の認証が可能になります。jar ツールの構文は、\f2tar\fP コマンドの構文とほぼ同じです。\f3JAR\fP アーカイブは、圧縮されているかどうかにかかわらず、クラスパスのエントリとして使用できます。
0N/A.LP
0N/A複数のファイルを JAR ファイルへ結合する一般的な使用法は次のとおりです。
0N/A.LP
0N/A.RS 3
0N/A
0N/A.LP
0N/A.nf
0N/A\f3
0N/A.fl
0N/A% jar cf myFile.jar *.class
0N/A.fl
0N/A\fP
0N/A.fi
0N/A.RE
0N/A
0N/A.LP
0N/Aこの例では、現在のディレクトリにあるクラス (.class) ファイルがすべて、\f2myFile.jar\fP という名前のファイルに格納されます。jar ツールは自動的に、\f2META\-INF/MANIFEST.MF\fP という名前のマニフェストファイルエントリを生成します。これは常に、JAR ファイルの最初のエントリになります。マニフェストファイルは、アーカイブに関するメタ情報を宣言し、そのデータを \f2name\ :\ value\fP ペアとして格納します。jar ツールがマニフェストファイル内にメタ情報を格納する方法の詳細については、「
0N/A.na
0N/A\f2JAR file specification\fP @
0N/A.fi
0N/Ahttp://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR%20Manifest」を参照してください。
0N/A.LP
0N/A既存のマニフェストファイル内に格納された \f2name\ :\ value\fP ペアを JAR ファイルに含める必要がある場合には、そのファイルを次のように \f2\-m\fP オプションを使って指定します。
0N/A.LP
0N/A.RS 3
0N/A
0N/A.LP
0N/A.nf
0N/A\f3
0N/A.fl
0N/A% jar cmf myManifestFile myFile.jar *.class
0N/A.fl
0N/A\fP
0N/A.fi
0N/A.RE
0N/A
0N/A.LP
0N/A既存のマニフェストファイルは改行文字で終わっている必要があります。 マニフェストファイルが改行文字で終わっていない場合、\f3jar\fP はその最後の行を解析しません。
0N/A.br
0N/A
0N/A.LP
0N/A.br
0N/A
0N/A.LP
0N/A\f3注:\ \fPコマンド行に \f2cmf\fP ではなく \f2cfm\fP が指定された jar コマンド (m と \-f オプションの順番を逆にする) の場合、\f3jar\fP コマンド行にまず JAR アーカイブの名前を指定し、続いてマニフェストファイルの名前を指定する必要があります。 次に例を示します。
0N/A.RS 3
0N/A
0N/A.LP
0N/A.nf
0N/A\f3
0N/A.fl
0N/A% jar cfm myFile.jar myManifestFile *.class
0N/A.fl
0N/A\fP
0N/A.fi
0N/A.RE
0N/A
0N/A.LP
0N/Aマニフェストは、RFC822 ASCII 形式で規定されたテキスト形式であるため、マニフェストファイルの内容を簡単に表示および編集できます。
0N/A.LP
0N/AJAR ファイルからファイルを抽出する場合は、\f2x\fP を使用します。
0N/A.LP
0N/A.RS 3
0N/A
0N/A.LP
0N/A.nf
0N/A\f3
0N/A.fl
0N/A% jar xf myFile.jar
0N/A.fl
0N/A\fP
0N/A.fi
0N/A.RE
0N/A
0N/A.LP
0N/A.LP
0N/Ajar ファイルから個別のファイルを抽出する場合は、そのファイル名を指定します。
0N/A.LP
0N/A.RS 3
0N/A
0N/A.LP
0N/A.nf
0N/A\f3
0N/A.fl
0N/A% jar xf myFile.jar foo bar
0N/A.fl
0N/A\fP
0N/A.fi
0N/A.RE
0N/A
0N/A.LP
0N/A.LP
0N/AJava 2 SDK のバージョン 1.3 以降から、\f2jar\fP ユーティリティーで
0N/A.na
0N/A\f2JarIndex\fP @
0N/A.fi
0N/Ahttp://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JARIndex がサポートされています。 JarIndex を使用すると、アプリケーションのクラスローダーで JAR ファイルからクラスがロードされるときの効率が向上します。アプリケーションまたはアプレットが複数の JAR ファイルにバンドルされている場合は、クラスがロードされるときに、必要な JAR ファイル以外のダウンロードおよびオープンは行われません。このパフォーマンスの最適化は、新しい \f2\-i\fP オプションを指定して \f2jar\fP を実行すると有効になります。このオプションを使うと、指定した JAR メインファイルとそのメインファイルが依存しているすべての JAR ファイルについて、パッケージ位置情報が生成されます。 メインファイルが依存している JAR ファイルは、JAR メインファイルのマニフェストの \f2Class\-Path\fP 属性に指定しておく必要があります。
0N/A.LP
4192N/A.RS 3
4192N/A
4192N/A.LP
4192N/A.nf
4192N/A\f3
4192N/A.fl
4192N/A% jar i main.jar
4192N/A.fl
4192N/A\fP
4192N/A.fi
4192N/A.RE
4192N/A
4192N/A.LP
4192N/A.LP
0N/Aこの例では、\f2INDEX.LIST\fP ファイルが \f2main.jar\fP の \f2META\-INF\fP ディレクトリに挿入されます。
0N/A.br
0N/A.br
0N/Aこのファイルに格納されている情報を使用して、アプリケーションのクラスローダーは、効率的にクラスをロードします。 インデックスファイルに位置情報を格納する方法の詳細は、 「\f2JarIndex\fP 仕様」を参照してください。
0N/A.br
0N/A.br
0N/Aディレクトリをコピーするには、まず \f2dir1\fP 内のファイルを圧縮して標準出力に出力し、続いて標準入力から \f2dir2\fP に抽出します (両方の \f2jar\fP コマンドから \f2\-f\fP オプションを省く)。 次に例を示します。
0N/A.LP
0N/A.RS 3
0N/A
0N/A.LP
0N/A.nf
0N/A\f3
0N/A.fl
0N/A% (cd dir1; jar c .) | (cd dir2; jar x)
0N/A.fl
0N/A\fP
0N/A.fi
0N/A.RE
0N/A
0N/A.LP
0N/A.LP
0N/A\f2jar\fP を使って JAR ファイルや JAR ファイルマニフェストを操作するコマンドサンプルを確認するには、「例」を参照してください。また、「
0N/A.na
0N/A\f2Java Tutorial\fP @
0N/A.fi
0N/Ahttp://java.sun.com/docs/books/tutorial/jar」の JAR コースも参照してください。
0N/A.LP
0N/A.SH "オプション"
0N/A.LP
4192N/A
4192N/A.LP
4192N/A.RS 3
4192N/A.TP 3
4192N/Ac
0N/A\f2jarfile\fP の名前で新しいアーカイブファイルを作成するか (\f2f\fP が指定されている場合)、標準出力で作成します (\f2f\fP と \f2jarfile\fP が省略されている場合)。\f2inputfiles\fP で指定されたファイルとディレクトリを、このアーカイブに追加します。
0N/A.TP 3
0N/Au
0N/A\f2inputfiles\fP で指定されたファイルとディレクトリを追加することにより、既存のファイル \f2jarfile\fP を更新します (\f2f\fP が指定されている場合)。 例を示します。
0N/A.RS 3
0N/A
0N/A.LP
0N/A.nf
0N/A\f3
0N/A.fl
0N/Ajar uf foo.jar foo.class
0N/A.fl
0N/A\fP
0N/A.fi
0N/A.RE
0N/A上のコマンドは、ファイル \f2foo.class\fP を既存の JAR ファイル \f2foo.jar\fP に追加します。次の例に示すように、\f2\-u\fP オプションは、マニフェストエントリも更新できます。
0N/A.RS 3
0N/A
0N/A.LP
0N/A.nf
0N/A\f3
0N/A.fl
0N/Ajar umf manifest foo.jar
0N/A.fl
0N/A\fP
0N/A.fi
0N/A.RE
0N/A\f2foo.jar\fP マニフェストをマニフェスト内の \f2name:value\fP ペアで更新します。
0N/A.TP 3
0N/Ax
0N/A\f2jarfile\fP から (\f2f\fP が指定されている場合)、または標準入力から (\f2f\fP と \f2jarfile\fP が省略されている場合)、ファイルとディレクトリを抽出します。\f2inputfiles\fP が指定されている場合は、その指定したファイルとディレクトリだけが抽出されます。指定されていなければ、すべてのファイルとディレクトリが抽出されます。抽出されたファイルの日時は、アーカイブ内で設定されたものです。
0N/A.TP 3
0N/At
0N/A\f2jarfile\fP から (\f2f\fP が指定されている場合)、または標準入力から (\f2f\fP と \f2jarfile\fP が省略されている場合)、内容を表形式で一覧表示します。\f2inputfiles\fP が指定されている場合は、その指定したファイルとディレクトリだけが一覧表示されます。指定されていなければ、すべてのファイルとディレクトリが一覧表示されます。
0N/A.TP 3
0N/Ai
0N/A指定された \f2jarfile\fP と、それに依存する JAR ファイルについて、インデックス情報を生成します。例を示します。
0N/A.RS 3
0N/A
0N/A.LP
0N/A.nf
0N/A\f3
0N/A.fl
0N/Ajar i foo.jar
0N/A.fl
0N/A\fP
0N/A.fi
0N/A.RE
0N/A.LP
0N/A上のコマンドは、\f2foo.jar\fP 内に \f2INDEX.LIST\fP ファイルを生成します。 このファイルには、\f2foo.jar\fP と、\f2foo.jar\fP の \f2Class\-Path\fP 属性に指定されたすべての JAR ファイルに入っている各パッケージの位置情報が書き込まれています。 インデックスの例を参照してください。
0N/A.TP 3
0N/Af
0N/A作成 (\f2c\fP)、更新 (\f2u\fP)、抽出 (\f2x\fP)、インデックス追加 (\f2i\fP)、または表示 (\f2t\fP) 対象のファイル \f2jarfile\fP を指定します。\f2f\fP オプションとファイル名 \f2jarfile\fP とがペアになります。 つまり、片方を記述すれば、もう一方も記述する必要があります。\f2f\fP と \f2jarfile\fP を省略すると、標準入力から JAR ファイル名が使用されたり (x および t の場合)、標準出力に jar ファイルが 送信されたりします (c および u の場合)。
0N/A.TP 3
0N/Av
0N/A詳細な出力を標準出力に生成します。あとで例を示します。
0N/A.TP 3
0N/A0
0N/A(ゼロ) ZIP による圧縮を使用せずに、保存します。
0N/A.TP 3
0N/AM
0N/Aマニフェストファイルエントリを作成しません (c および u の場合)。 または、マニフェストファイルエントリが存在する場合にそれを削除します (u の場合)。
0N/A.TP 3
0N/Am
0N/A\f2META\-INF/MANIFEST.MF\fP のファイルで指定したマニフェストファイル \f2manifest\fP の \f2name :value\fP の属性ペアを組み込みます。すでに同じ名前で存在しない限り、 \f2jar\fP はその \f2name\ :\ value\fP ペアを追加します。同じ名前で存在する場合は、\f2jar\fP はその値を更新します。
0N/A.LP
0N/Aコマンド行で、\f3m\fP と \f3f\fP の文字は、\f2manifest\fP と \f2jarfile\fP の入力順序と同じ順序で記述する必要があります。たとえば、次のようにして使います。
0N/A.RS 3
0N/A
0N/A.LP
0N/A.nf
0N/A\f3
0N/A.fl
0N/Ajar cmf myManifestFile myFile.jar *.class
0N/A.fl
0N/A\fP
0N/A.fi
0N/A.RE
0N/Aデフォルトのマニフェストには含まれないマニフェストに、特別な目的の \f2name\ :\ value\fP の属性ペアを追加できます。たとえば、ベンダー情報、バージョン情報、パッケージシーリング、または JAR にバンドルされたアプリケーションを実行するための属性を追加できます。\f4\-m\fP オプションの使用例については、「Java Tutorial」 にある「
0N/A.na
0N/A\f2JAR Files\fP @
0N/A.fi
0N/Ahttp://java.sun.com/docs/books/tutorial/jar/」コースを参照してください。
0N/A.LP
0N/A.TP 3
0N/Ae
0N/A実行可能 JAR ファイル内にバンドルされたスタンドアロンアプリケーションのアプリケーションエントリポイントとして、\f2entrypoint\fP を設定します。このオプションを使用すると、マニフェストファイル内の \f2Main\-Class\fP 属性値が作成または上書きされます。 このオプションは、JAR ファイルの作成中または更新中に使用できます。 このオプションを使えば、マニフェストファイルを編集または作成することなしに、アプリケーションのエントリポイントを指定できます。
0N/A.br
0N/A.br
0N/Aたとえば、次のコマンドは \f2Main.jar\fP を作成しますが、その際、マニフェストファイル内の \f2Main\-Class\fP 属性値は \f2Main\fP に設定されます。
0N/A.RS 3
0N/A
0N/A.LP
0N/A.nf
0N/A\f3
0N/A.fl
0N/Ajar cfe Main.jar Main Main.class
0N/A.fl
0N/A\fP
0N/A.fi
0N/A.RE
0N/A.LP
0N/A次のコマンドを実行すると java ランタイムから直接このアプリケーションを起動できます。
4192N/A.RS 3
4192N/A
4192N/A.LP
0N/A.nf
0N/A\f3
0N/A.fl
0N/Ajava \-jar Main.jar
4192N/A.fl
4192N/A\fP
4192N/A.fi
0N/A.RE
0N/Aエントリポイントのクラス名が特定のパッケージ内に存在している場合、エントリポイントの区切り文字としてドット (「.」) またはスラッシュ (「/」) を使用できます。たとえば、\f2Main.class\fP が \f2foo\fP という名前のパッケージ内に存在している場合、次のようにしてエントリポイントを指定できます。
0N/A.RS 3
0N/A
0N/A.LP
0N/A.nf
0N/A\f3
0N/A.fl
0N/Ajar \-cfe Main.jar foo/Main foo/Main.class
0N/A.fl
0N/A\fP
0N/A.fi
0N/A.RE
0N/Aまたは
0N/A.RS 3
0N/A
0N/A.LP
0N/A.nf
0N/A\f3
0N/A.fl
0N/Ajar \-cfe Main.jar foo.Main foo/Main.class
0N/A.fl
0N/A\fP
0N/A.fi
0N/A.RE
0N/A\f3注:\ \fP \f2\-m\fP オプションと \f2\-e\fP オプションの両方を同時に指定する場合、指定されたマニフェストにも \f2Main\-Class\fP 属性が含まれていると、\f2Main.class\fP の指定があいまいになってエラーが発生し、JAR の作成または更新処理が異常終了します。
0N/A.LP
0N/A.TP 3
0N/A\-C \ dir
0N/A\f2jar\fP コマンドの実行中に後続の \f2inputfiles\fP 引数を処理するときに、一時的にディレクトリを変更します (\f2cd\fP\ \f2dir\fP)。この処理は、UNIX の \f2tar\fP ユーティリティーの \f2\-C\fP オプションの機能に類似しています。
0N/A.br
0N/A.br
0N/Aたとえば、次のコマンドは、\f2classes\fP ディレクトリに移動し、そのディレクトリから \f2bar.class\fP を \f2foo.jar\fP に追加します。
0N/A.RS 3
0N/A
0N/A.LP
0N/A.nf
0N/A\f3
0N/A.fl
0N/Ajar uf foo.jar \-C classes bar.class
0N/A.fl
0N/A\fP
0N/A.fi
0N/A.RE
0N/A次のコマンドでは、\f2classes\fP ディレクトリに移動し、\f2classes\fP ディレクトリ内のすべてのファイルを \f2foo.jar\fP に追加します (jar ファイルには classes ディレクトリを作成しません)。 次に元のディレクトリに戻ってから、\f2bin\fP ディレクトリに移動し、\f2xyz.class\fP を \f2foo.jar\fP に追加します。
0N/A.RS 3
0N/A
0N/A.LP
0N/A.nf
0N/A\f3
0N/A.fl
0N/Ajar uf foo.jar \-C classes . \-C bin xyz.class
0N/A.fl
0N/A\fP
0N/A.fi
0N/A.RE
0N/A\f2classes\fP に \f2bar1\fP と \f2bar2\fP が保持されている場合、\f2jar tf foo.jar\fP を使用すると、JAR ファイルには次の要素が含められます。
0N/A.RS 3
0N/A
0N/A.LP
0N/A.nf
0N/A\f3
0N/A.fl
0N/AMETA\-INF/
0N/A.fl
0N/AMETA\-INF/MANIFEST.MF
0N/A.fl
0N/Abar1
0N/A.fl
0N/Abar2
0N/A.fl
0N/Axyz.class
0N/A.fl
0N/A\fP
0N/A.fi
0N/A.RE
0N/A.LP
0N/A.TP 3
0N/A\-Joption
0N/AJava 実行環境に \f2option\fP を渡します。 \f2option\fP には、「Java アプリケーション起動ツール」のリファレンスページに記載されているオプションを 1 つ指定します。たとえば、\f4\-J\-Xmx48M\fP と指定すると、最大メモリーは 48M バイトに設定されます。\f2\-J\fP を使って背後の実行環境にオプションを渡すことはよく行われています。
0N/A.RE
4192N/A
4192N/A.LP
0N/A.SH "コマンド行引数ファイル"
0N/A.LP
0N/A
0N/A.LP
0N/Ajar のコマンド行を短くしたり簡潔にしたりするために、\f2jar\fP コマンドに対する引数 (\f2\-J\fP オプションを除く) を含む 1 つ以上のファイルを指定することができます。これにより、任意の長さの jar コマンドを作成でき、オペレーティングシステムによるコマンド行の制限から解放されます。
0N/A.LP
0N/A引数ファイルにはオプションとファイル名を含めることができます。ファイル内の各引数は、スペースまたは改行で区切ります。引数ファイル内のファイル名は、現在のディレクトリから見た相対パスになります。 引数ファイルの位置から見た相対パスではありません。ワイルドカード (*) は、通常ならばオペレーティングシステムシェルによってあらゆる文字に解釈されますが、この場合はそのようには解釈されません。引数ファイル内の引数で \f2@\fP 文字を使用して、複数のファイルを再帰的に解釈することはサポートされていません。また、\f2\-J\fP オプションもサポートされていません。 このオプションは起動ツールに渡されますが、起動ツールでは引数ファイルをサポートしていないからです。
0N/A.LP
0N/A.LP
0N/A\f2jar\fP を実行するときに、各引数ファイルのパスとファイル名の先頭に \f2@\fP 文字を付けて渡します。\f2jar\fP は、\f2@\fP 文字で始まる引数を見つけると、そのファイルの内容を展開して引数リストに挿入します。
0N/A.br
0N/A.br
0N/A次の例では、\f2find\fP コマンドから出力されたファイル名を \f2classes.list\fP 内に格納しています。
0N/A.LP
0N/A.RS 3
0N/A
0N/A.LP
0N/A.nf
0N/A\f3
0N/A.fl
0N/A% find \fP\f3.\fP \-name '*.class' \-print > classes.list
0N/A.fl
0N/A.fi
4192N/A.RE
4192N/A
0N/A.LP
0N/A.LP
0N/Aその後、引数ファイル構文を使って \f2jar\fP にリストを渡すと、\f2Classes.list\fP で \f2jar\fP コマンドを実行できます。
0N/A.LP
0N/A.RS 3
0N/A
0N/A.LP
0N/A.nf
0N/A\f3
0N/A.fl
0N/A% jar cf my.jar @classes.list
0N/A.fl
0N/A\fP
0N/A.fi
0N/A.RE
4192N/A
4192N/A.LP
0N/A引数ファイルはパスを指定できますが、相対パスが記述された引数ファイル内のすべてのファイル名は、渡されたパスに対して相対的ではなく、現在の作業ディレクトリに相対的となります。 次に例を示します。
0N/A.RS 3
0N/A
0N/A.LP
0N/A.nf
0N/A\f3
0N/A.fl
0N/A% jar @path1/classes.list
0N/A.fl
0N/A\fP
0N/A.fi
0N/A.RE
0N/A
0N/A.LP
0N/A.LP
0N/A
0N/A.LP
0N/A.SH "例"
0N/A.LP
0N/A
0N/A.LP
0N/A特定のディレクトリ内のすべてのファイルをアーカイブに追加する (そのアーカイブがすでに存在する場合は、その内容を上書きする) には、次のようにします。\f2\-v\fP オプションを使用して情報を詳細に列挙するように指定すると、サイズや最新の更新日など、アーカイブ内のファイルについての詳細情報が表示されます。
0N/A.RS 3
0N/A
0N/A.LP
0N/A.nf
0N/A\f3
0N/A.fl
0N/A% ls
0N/A.fl
0N/A1.au Animator.class monkey.jpg
0N/A.fl
0N/A2.au Wave.class spacemusic.au
0N/A.fl
0N/A3.au at_work.gif
0N/A.fl
0N/A
0N/A.fl
0N/A% jar cvf bundle.jar *
0N/A.fl
0N/Aadded manifest
0N/A.fl
0N/Aadding: 1.au(in = 2324) (out= 67)(deflated 97%)
0N/A.fl
0N/Aadding: 2.au(in = 6970) (out= 90)(deflated 98%)
0N/A.fl
0N/Aadding: 3.au(in = 11616) (out= 108)(deflated 99%)
0N/A.fl
0N/Aadding: Animator.class(in = 2266) (out= 66)(deflated 97%)
0N/A.fl
0N/Aadding: Wave.class(in = 3778) (out= 81)(deflated 97%)
0N/A.fl
0N/Aadding: at_work.gif(in = 6621) (out= 89)(deflated 98%)
0N/A.fl
0N/Aadding: monkey.jpg(in = 7667) (out= 91)(deflated 98%)
0N/A.fl
0N/Aadding: spacemusic.au(in = 3079) (out= 73)(deflated 97%)
0N/A.fl
0N/A\fP
0N/A.fi
0N/A.RE
0N/A
0N/A.LP
0N/Aすでに画像、オーディオファイル、およびクラス用のサブディレクトリに分けている場合は、これらを単一の JAR ファイルに結合できます。
0N/A.RS 3
0N/A
0N/A.LP
0N/A.nf
0N/A\f3
0N/A.fl
0N/A% ls \-F
0N/A.fl
0N/Aaudio/ classes/ images/
0N/A.fl
0N/A
0N/A.fl
0N/A% jar cvf bundle.jar audio classes images
0N/A.fl
0N/Aadded manifest
0N/A.fl
0N/Aadding: audio/(in = 0) (out= 0)(stored 0%)
0N/A.fl
0N/Aadding: audio/1.au(in = 2324) (out= 67)(deflated 97%)
0N/A.fl
0N/Aadding: audio/2.au(in = 6970) (out= 90)(deflated 98%)
0N/A.fl
0N/Aadding: audio/3.au(in = 11616) (out= 108)(deflated 99%)
0N/A.fl
0N/Aadding: audio/spacemusic.au(in = 3079) (out= 73)(deflated 97%)
0N/A.fl
0N/Aadding: classes/(in = 0) (out= 0)(stored 0%)
0N/A.fl
0N/Aadding: classes/Animator.class(in = 2266) (out= 66)(deflated 97%)
0N/A.fl
0N/Aadding: classes/Wave.class(in = 3778) (out= 81)(deflated 97%)
0N/A.fl
0N/Aadding: images/(in = 0) (out= 0)(stored 0%)
0N/A.fl
0N/Aadding: images/monkey.jpg(in = 7667) (out= 91)(deflated 98%)
0N/A.fl
0N/Aadding: images/at_work.gif(in = 6621) (out= 89)(deflated 98%)
0N/A.fl
0N/A
0N/A.fl
0N/A% ls \-F
0N/A.fl
0N/Aaudio/ bundle.jar classes/ images/
0N/A.fl
0N/A\fP
0N/A.fi
0N/A.RE
0N/A
0N/A.LP
0N/AJAR ファイルのエントリ名を表示するには、「\f2t\fP」オプションを使用します。
0N/A.RS 3
0N/A
0N/A.LP
0N/A.nf
0N/A\f3
0N/A.fl
0N/A% jar tf bundle.jar
0N/A.fl
0N/AMETA\-INF/
0N/A.fl
0N/AMETA\-INF/MANIFEST.MF
0N/A.fl
0N/Aaudio/1.au
0N/A.fl
0N/Aaudio/2.au
0N/A.fl
0N/Aaudio/3.au
0N/A.fl
0N/Aaudio/spacemusic.au
0N/A.fl
0N/Aclasses/Animator.class
0N/A.fl
0N/Aclasses/Wave.class
0N/A.fl
0N/Aimages/monkey.jpg
0N/A.fl
0N/Aimages/at_work.gif
0N/A.fl
0N/A\fP
0N/A.fi
0N/A.RE
0N/A
0N/A.LP
0N/A.LP
0N/Aクラスロードを高速にするためにインデックスファイルを JAR ファイルに追加するには、「\f2i\fP」オプションを使用します。
0N/A.br
0N/A.br
0N/A例:
0N/A.br
0N/A
0N/A.LP
0N/A.RS 3
0N/A
0N/A.LP
0N/Aたとえば、株取引アプリケーション用の相互依存したクラスを、\f2main.jar\fP、\f2buy.jar\fP、および \f2sell.jar\fP という 3 つの JAR ファイルに分割したとします。
0N/A.br
0N/A
0N/A.LP
0N/A.br
0N/A
0N/A.LP
0N/A\f2main.jar\fP のマニフェストの \f2Class\-path\fP 属性に次のように指定した場合、
0N/A.nf
0N/A\f3
0N/A.fl
0N/AClass\-Path: buy.jar sell.jar
0N/A.fl
0N/A\fP
0N/A.fi
0N/A
0N/A.LP
0N/A\f2\-i\fP オプションを使用すれば、アプリケーションのクラスの 読み込みを高速化できます。
0N/A.nf
0N/A\f3
0N/A.fl
0N/A% jar i main.jar
0N/A.fl
0N/A\fP
0N/A.fi
0N/A
0N/A.LP
0N/A\f2INDEX.LIST\fP ファイルが \f2META\-INF\fP ディレクトリに挿入されます。この結果、アプリケーションのクラスローダーによってクラスまたは リソースの検索が行われるときに、適切な jar ファイルがダウンロードされます。
0N/A.RE
0N/A.SH "関連項目"
0N/A.LP
0N/A
0N/A.LP
0N/A.na
0N/A\f2「JAR ファイルの概要」\fP @
0N/A.fi
0N/Ahttp://java.sun.com/javase/6/docs/technotes/guides/jar/jarGuide.html
0N/A.br
0N/A
0N/A.LP
0N/A.na
0N/A\f2「JAR ファイルの仕様」\fP @
0N/A.fi
0N/Ahttp://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html
0N/A.br
0N/A
0N/A.LP
0N/A.na
0N/A\f2「Jar インデックス」\fP @
0N/A.fi
0N/Ahttp://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JARIndex
0N/A.br
0N/A
0N/A.LP
0N/A.na
0N/A\f2「Jar チュートリアル」\fP @
0N/A.fi
0N/Ahttp://java.sun.com/docs/books/tutorial/jar (Java Software の Web サイト内)
0N/A.br
0N/A
0N/A.LP
0N/Apack200(1)
0N/A.LP
0N/A
0N/A