Manpages

名 前

jar − Java ア ー カ イ ブ ツ ー ル

形 式

jar [ −C ] [ c ] [ f ] [ i ] [ −J option ] [ M ] [ m ] [ O ] [ t ] [ u ] [ v ]
[ x file ] [ manifest-file ] destination input-file
[ input-files ]

機 能 説 明

jar は Java ア プ リ ケ ー シ ョ ン の 1 つ で 、 複 数 個 の フ ァ イ ル を 1 個 の JAR ア ー カ イ ブ フ ァ イ ル に 統 合 し ま す 。 ま た 、 jar は 汎 用 的 な ア ー カ イ ブ 作 成 用 お よ び 圧 縮 用 の ツ ー ル で も あ り 、 圧 縮 は ZIP ま た は ZLIB 形 式 で 行 い ま す 。 た だ し jar ツ ー ル の 主 な 目 的 は 、 い く つ か の Java ア プ レ ッ ト や ア プ リ ケ ー シ ョ ン を 1 個 の ア ー カ イ ブ に 統 合 し て 簡 略 化 す る こ と で す 。 ア プ レ ッ ト や ア プ リ ケ ー シ ョ ン の コ ン ポ ー ネ ン ト 、 た と え ば ク ラ ス フ ァ イ ル 、 イ メ ー ジ 、 サ ウ ン ド な ど を 単 一 の ア ー カ イ ブ に ま と め る と 、 ブ ラ ウ ザ の よ う な Java エ ー ジ ェ ン ト に ダ ウ ン ロ ー ド す る と き に 、 一 度 の HTTP ト ラ ン ザ ク シ ョ ン で 済 み ま す 。 コ ン ポ ー ネ ン ト ご と に 新 た に 接 続 す る 必 要 が あ り ま せ ん 。 こ れ に よ り ダ ウ ン ロ ー ド 時 間 が 大 幅 に 短 縮 で き ま す 。 ま た jar は フ ァ イ ル の 圧 縮 も 行 う の で 、 ダ ウ ン ロ ー ド が よ り 高 速 に な り ま す 。 さ ら に 、 フ ァ イ ル 中 の 個 々 の エ ン ト リ に 対 し て ア プ レ ッ ト の 作 成 者 が 署 名 で き る の で 、 作 成 元 を 明 確 化 で き ま す 。 jar ツ ー ル の 構 文 は 、 tar(1) コ マ ン ド の 構 文 と ほ ぼ 同 一 で す 。 jar ア ー カ イ ブ は 、 圧 縮 さ れ て い る か ど う か に か か わ ら ず 、 ク ラ ス パ ス エ ン ト リ と し て 使 用 で き ま す 。

jar を 使 用 す る 場 合 は 、 以 下 に 示 す 3 種 類 の フ ァ イ ル を 入 力 し ま す 。

manifest フ ァ イ ル (任 意 指 定 )

出 力 先 jar フ ァ イ ル

ア ー カ イ ブ さ れ る フ ァ イ ル 群

標 準 的 な 使 い 方 は 次 の と お り で す 。

example% jar cf myjarfile *.class

こ の 例 で は 、 現 在 の デ ィ レ ク ト リ 中 の す べ て の ク ラ ス フ ァ イ ル が myjarfile と い う 名 前 の フ ァ イ ル に 置 か れ ま す 。 manifest フ ァ イ ル は jar ツ ー ル が 自 動 的 に 生 成 し 、 常 に jar フ ァ イ ル の 先 頭 の エ ン ト リ と な り ま す 。 デ フ ォ ル ト で は manifest フ ァ イ ル の 名 前 は META-INF/MANIFEST.INF に な り ま す 。 manifest フ ァ イ ル に は 、 ア ー カ イ ブ に 関 す る す べ て の メ タ 情 報 が 記 録 さ れ ま す 。 ど の よ う に 記 録 さ れ る か に つ い て は 、 「 関 連 項 目 」 の 「 マ ニ フ ェ ス ト フ ォ ー マ ッ ト 」 を 参 照 し て く だ さ い 。

既 存 の manifest フ ァ イ ル を 使 っ て 新 た な jar ア ー カ イ ブ を 作 成 し た い と き は 、 −m オ プ シ ョ ン を 使 っ て そ の manifest フ ァ イ ル を 指 定 し ま す 。 以 下 に 例 を 示 し ま す 。

example% jar cmf myManifestFile myJarFile *.class

cmf で は な く cfm を 指 定 す る 場 合 (つ ま り 、 m オ プ シ ョ ン と f オ プ シ ョ ン の 順 番 を 逆 に す る 場 合 )、 最 初 に jar ア ー カ イ ブ 名 を 指 定 し 、 次 に manifest フ ァ イ ル 名 を 指 定 す る 必 要 が あ り ま す 。

example% jar cfm myJarFile myManifestFile *.class

manifest は RFC822 ASCII 形 式 を 使 用 す る た め 、 manifest フ ァ イ ル の 内 容 は 簡 単 に 表 示 お よ び 処 理 で き ま す 。

オ プ シ ョ ン

次 の オ プ シ ョ ン を サ ポ ー ト し ま す 。

−C

jar コ マ ン ド の 実 行 中 に デ ィ レ ク ト リ を 変 更 し ま す 。 次 に 例 を 示 し ま す 。

example% jar uf foo.jar −C classes *

c

標 準 出 力 上 に 新 規 の ア ー カ イ ブ ま た は 空 の ア ー カ イ ブ を 作 成 し ま す 。

f

2 つ 目 の 引 数 が 、 処 理 さ れ る jar フ ァ イ ル で あ る こ と を 指 定 し ま す 。 作 成 −c オ プ シ ョ ン で 作 成 を 行 う 場 合 に は 、 2 つ 目 の 引 数 は 作 成 す る jar フ ァ イ ル の 名 前 (標 準 出 力 の 代 わ り に 使 用 ) を 表 し ま す 。 −t オ プ シ ョ ン で 内 容 の 一 覧 表 示 、 ま た は −x オ プ シ ョ ン で 抽 出 を 行 う 場 合 に は 、 2 つ 目 の 引 数 は そ の 対 象 と な る jar フ ァ イ ル の 名 前 を 表 し ま す 。

i

指 定 さ れ た jar フ ァ イ ル お よ び 関 連 付 け ら れ て い る jar フ ァ イ ル の イ ン デ ッ ク ス 情 報 を 生 成 し ま す 。 次 に 例 を 示 し ま す 。

example% jar i foo.jar

foo.jar に INDEX.LIST フ ァ イ ル が 生 成 さ れ ま す 。 こ の フ ァ イ ル に は 、 foo.jar の 各 パ ッ ケ ー ジ お よ び foo.jar の Class-Path 属 性 に 指 定 さ れ て い る す べ て の jar フ ァ イ ル の 位 置 情 報 が 書 き 込 ま れ て い ま す 。
−J
option

option を Java 仮 想 マ シ ン に 渡 し ま す 。 こ こ で 、 option は 、 Java ア プ リ ケ ー シ ョ ン 起 動 プ ロ グ ラ ム java(1) の マ ニ ュ ア ル ペ ー ジ で 説 明 さ れ て い る オ プ シ ョ ン の 1 つ で す 。 た と え ば 、 −J-Xms48m は 、 起 動 時 に 使 用 す る メ モ リ を 48M バ イ ト に 設 定 し ま す 。 −J が 基 本 に す る 仮 想 マ シ ン に オ プ シ ョ ン を 渡 す こ と は 、 共 通 の 規 約 で す 。

M

当 該 エ ン ト リ に マ ニ フ ェ ス ト フ ァ イ ル を 生 成 し ま せ ん 。

m

指 定 し た 既 存 の マ ニ フ ェ ス ト フ ァ イ ル か ら マ ニ フ ェ ス ト 情 報 を イ ン ク ル ー ド し ま す 。 次 に 例 を 示 し ま す 。

example% jar cmf myManifestFile myJarFile *.class

マ ニ フ ェ ス ト フ ァ イ ル に は 、 デ フ ォ ル ト の マ ニ フ ェ ス ト に 含 ま れ て い な い 、 専 用 の 「 名 前 -値 」 属 性 ヘ ッ ダ を 追 加 で き ま す 。 こ の よ う な ヘ ッ ダ の 例 と し て は 、 ベ ン ダ 情 報 、 バ ー ジ ョ ン 情 報 、 パ ッ ケ ー ジ シ ー リ ン グ 、 お よ び JAR に 含 ま れ る ア プ リ ケ ー シ ョ ン を 実 行 す る た め の ヘ ッ ダ が あ り ま す 。 m オ プ シ ョ ン の 使 用 例 に つ い て は 、 「 Java Tutorial」 の 「 JAR Files」 節 と 「 JRE 開 発 者 向 け ノ ー ト 」 Web ペ ー ジ を 参 照 し て く だ さ い 。

O

ZIP 圧 縮 を 使 用 せ ず に 格 納 し ま す 。

t

標 準 入 力 の 内 容 の 一 覧 を 表 示 し ま す 。

u

フ ァ イ ル を 追 加 す る か 、 マ ニ フ ェ ス ト を 変 更 す る こ と に よ っ て 、 既 存 の JAR フ ァ イ ル を 更 新 し ま す 。 次 に 例 を 示 し ま す 。

example% jar uf foo.jar foo.class

こ の 例 は 、 フ ァ イ ル foo.class を 既 存 の JAR フ ァ イ ル foo.jar に 追 加 し ま す 。

example% jar umf foo.jar

こ の 例 は 、 foo.jar の マ ニ フ ェ ス ト を マ ニ フ ェ ス ト の 情 報 で 更 新 し ま す 。

v

標 準 エ ラ ー 出 力 に 、 詳 細 情 報 を 出 力 し ま す 。

x file

標 準 入 力 か ら フ ァ イ ル を 抽 出 し ま す 。 file 引 数 は 、 抽 出 す る フ ァ イ ル を 指 定 し ま す 。 引 数 を 省 略 す る と 、 す べ て の フ ァ イ ル が 抽 出 さ れ ま す 。

引 数 に 指 定 し た フ ァ イ ル の ど れ か が デ ィ レ ク ト リ の 場 合 、 そ の デ ィ レ ク ト リ は 再 帰 的 に 処 理 さ れ ま す 。

使 用 例

あ る デ ィ レ ク ト リ 中 の フ ァ イ ル を す べ て ア ー カ イ ブ に 追 加 す る 例 を 示 し ま す 。

example% ls
0.au 3.au 6.au 9.au at_work.gif
1.au 4.au 7.au Animator.class monkey.jpg
e.au 5.au 8.au Wave.class spacemusic.au
example% jar cvf bundle.jar *
adding: 0.au
adding: 1.au
adding: 2.au
adding: 3.au
adding: 4.au
adding: 5.au
adding: 6.au
adding: 7.au
adding: 8.au
adding: 9.au
adding: Animator.class
adding: Wave.class
adding: at_work.gif
adding: monkey.jpg
adding: spacemusic.au
example%

イ メ ー ジ 、 オ ー デ ィ オ フ ァ イ ル 、 お よ び ク ラ ス 用 の サ ブ デ ィ レ ク ト リ が す で に HTML デ ィ レ ク ト リ 中 に 存 在 し て い る 場 合 、 jar を 使 っ て 個 々 の サ ブ デ ィ レ ク ト リ を 単 一 の jar フ ァ イ ル に ア ー カ イ ブ で き ま す 。

example% ls
audio classes images
example% jar cvf bundle.jar audio classes images
adding: audio/1.au
adding: audio/2.au
adding: audio/3.au
adding: audio/spacemusic.au
adding: classes/Animator.class
adding: classes/Wave.class
adding: images/monkey.jpg
adding: images/at_work.gif
example% ls −l
total 142
drwxr-xr-x 2 brown green 512 Aug 1 22:33 audio
-rw-r--r-- 1 brown green 68677 Aug 1 22:36 bundle.jar
drwxr-xr-x 2 brown green 512 Aug 1 22:26 classes
drwxr-xr-x 2 brown green 512 Aug 1 22:25 images
example%

次 の 例 で は 、 jar ツ ー ル に t オ プ シ ョ ン を 指 定 し て jar フ ァ イ ル 中 の エ ン ト リ 名 を 表 示 で き ま す 。

example% ls
audio bundle.jar classes images
example% jar tf bundle.jar
META-INF/MANIFEST.MF
audio/1.au
audio/2.au
audio/3.au
audio/spacemusic.au
classes/Animator.class
classes/Wave.class
images/monkey.jpg
images/at_work.gif
example%

ア ー カ イ ブ 中 の 各 フ ァ イ ル の 詳 細 情 報 、 た と え ば サ イ ズ や 最 新 更 新 日 付 な ど も 表 示 し た い 場 合 は 、 v オ プ シ ョ ン を 使 用 し ま す 。 次 に 例 を 示 し ま す 。

example% jar tvf bundle.jar
145 Thu Aug 01 22:27:00 PDT 1996 META-INF/MANIFEST.MF
946 Thu Aug 01 22:24:22 PDT 1996 audio/1.au
1039 Thu Aug 01 22:24:22 PDT 1996 audio/2.au
993 Thu Aug 01 22:24:22 PDT 1996 audio/3.au
48072 Thu Aug 01 22:24:23 PDT 1996 audio/spacemusic.au
16711 Thu Aug 01 22:25:50 PDT 1996 classes/Animator.class
3368 Thu Aug 01 22:26:02 PDT 1996 classes/Wave.class
12809 Thu Aug 01 22:24:48 PDT 1996 images/monkey.jpg
527 Thu Aug 01 22:25:20 PDT 1996 images/at_work.gif
example%

株 取 引 ア プ リ ケ ー シ ョ ン (ア プ レ ッ ト ) を 次 の 複 数 の jar フ ァ イ ル に バ ン ド ル し 、

main.jar buy.jar sell.jar other.jar

main.jar の マ ニ フ ェ ス ト の Class-Path 属 性 に 次 の よ う に 指 定 し た 場 合 、

Class-Path: buy.jar sell.jar other.jar

i オ プ シ ョ ン を 使 用 す れ ば 、 ア プ リ ケ ー シ ョ ン の ク ラ ス の ロ ー ド を 高 速 化 で き ま す 。

example$ jar i main.jar

INDEX.LIST フ ァ イ ル が META-INF デ ィ レ ク ト リ に 追 加 さ れ ま す 。 こ の 結 果 、 ア プ リ ケ ー シ ョ ン の ク ラ ス ロ ー ダ に よ っ て ク ラ ス ま た は リ ソ ー ス の 検 索 が 行 わ れ る と き に 、 適 切 な jar フ ァ イ ル が ダ ウ ン ロ ー ド さ れ ま す 。

関 連 項 目

keytool(1)
JAR Files
@

http://java.sun.com/docs/books/tutorial/jar/

JRE 開 発 者 向 け ノ ー ト @

http://java.sun.com/j2se/1.4/runtime.html#example

JAR ガ イ ド @

http://java.sun.com/j2se/1.4/docs/guide/jar/index.html : 英 語 版

関 連 項 目 の 詳 細 は 、 以 下 の URL
中 の サ ー チ リ ン ク を 使 用 し て 参 照 し て く だ さ い 。

http://java.sun.com/