Documentation Contents

jar - Java ARchive ?????????

jar ??????????????????????????? 1 ?????? JAR ????????????????????????????????????????????????

??????

JAR ?????????????????????
jar c[v0Mmfe] [manifest] [jarfile] [entrypoint] [-C dir] inputfiles [-Joption]

JAR ?????????????????????
jar u[v0Mmfe] [manifest] [jarfile] [entrypoint] [-C dir] inputfiles [-Joption]

JAR ?????????????????????
jar x[vf] [jarfile] [inputfiles] [-Joption]

JAR ??????????????????????????????????????????????????????
jar t[vf] [jarfile] [inputfiles] [-Joption]

JAR ?????????????????????????????????????????????
jar i jarfile [-Joption]

??????

cuxtiv0Mmfe
jar ??????????????????????????????????????????
jarfile
?????? (c)????????? (u)????????? (x)????????????????????????????????? (t) ?????????????????? JAR ???????????????f ????????????????????????????????? jarfile ?????????????????????????????? ??????????????????????????????????????????????????????????????????????????????????????????f ??? jarfile ??????????????????????????????????????????JAR ???????????????????????????????????? (x ????????? t ?????????)?????????????????????JAR ????????????????????????????????????(c ????????? u ?????????)???
inputfiles
jarfile ????????????????????? (c ????????? u ?????????)???jarfile ???????????? (x ?????????) ????????????????????? (t ?????????) ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? O (??????) ????????????????????????????????????????????????
manifest
name:value ???????????????JAR ??????????????? MANIFEST.MF ???????????????????????????????????????????????????????????????-m ????????????????????????????????? manifest ?????????????????????????????? ??????????????????????????????????????????????????????????????????????????????????????????m???f???????????? e ?????????????????????manifest???jarfile???entrypoint ??????????????????????????????????????????????????????
entrypoint
???????????? JAR ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????-e ?????????????????? entrypoint ?????????????????????????????? ????????????????????????????????????????????????????????????????????????????????????m???f???????????? e ?????????????????????manifest???jarfile???entrypoint ??????????????????????????????????????????????????????
-C dir
??????????????? inputfiles ???????????????????????????????????????????????? dir ?????????????????????????????????-C dir inputfiles ??????????????????????????????????????????
-Joption
Java ?????????????????????????????????????????????-J ??? option ???????????????????????????????????????????????????

??????

jar ??????????????????????????????????????? 1 ?????? JAR ???????????????????????????????????????????????? jar ??????ZIP ????????? ZLIB ?????????????????????????????????????????????????????????????????????????????????????????????????????? jar ????????????????????????????????????????????? Java ????????????????????????????????????????????? 1 ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? (???????????????????????????????????????????????????) ??? 1 ???????????????????????????????????????????????????Java ?????????????????? (??????????????????) ?????????????????????????????????????????? 1 ?????? HTTP ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ?????????jar ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????jar ????????????????????????tar ?????????????????????????????????????????????JAR ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

???????????????????????? JAR ???????????????????????????????????????????????????????????????????????????

% jar cf myFile.jar *.class
??????????????????????????????????????????????????????????????? (.class) ???????????????????????????myFile.jar ??????????????????????????????????????????????????????jar ???????????????????????????META-INF/MANIFEST.MF ???????????????????????????????????????????????????????????????????????????????????????????????????JAR ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? name : value ?????????????????????????????????jar ???????????????????????????????????????????????????????????????????????????????????????????????????????????????JAR file specification?????????????????????????????????

???????????????????????????????????????????????????????????? name : value ????????? JAR ?????????????????????????????????????????????????????????????????????????????????????????? -m ?????????????????????????????????????????????

% jar cmf myManifestFile myFile.jar *.class
??????????????????????????????????????????????????????????????????????????????????????????????????? ??????????????????????????????????????????????????????????????????????????????jar ?????????????????????????????????????????????

???: ?????????????????? cmf ???????????? cfm ?????????????????? jar ???????????? (m ??? -f ???????????????????????????????????????) ????????????jar ???????????????????????? JAR ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ???????????????????????????
% jar cfm myFile.jar myManifestFile *.class
????????????????????????RFC822 ASCII ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

JAR ?????????????????????????????????????????????????????????x ?????????????????????

% jar xf myFile.jar

jar ????????????????????????????????????????????????????????????????????????????????????????????????????????????

% jar xf myFile.jar foo bar

Java 2 SDK ?????????????????? 1.3 ???????????????jar ??????????????????????????? JarIndex ???????????????????????????????????? JarIndex ???????????????????????????????????????????????????????????????????????? JAR ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? JAR ????????????????????????????????????????????????????????????????????????????????????????????????????????? JAR ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? -i ?????????????????????????????? jar ?????????????????????????????????????????????????????????????????????????????????????????? JAR ???????????????????????????????????????????????????????????????????????????????????? JAR ?????????????????????????????????????????????????????????????????????????????? ?????????????????????????????????????????? JAR ??????????????????JAR ????????????????????????????????????????????? Class-Path ???????????????????????????????????????????????????

% jar i main.jar

??????????????????INDEX.LIST ??????????????? main.jar ??? META-INF ??????????????????????????????????????????

????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ????????????????????????????????????????????????????????????????????????????????? ???JarIndex ???????????????????????????????????????

??????????????????????????????????????????????????? dir1 ??????????????????????????????????????????????????????????????????????????????????????? dir2 ?????????????????? (????????? jar ?????????????????? -f ????????????????????????)??? ???????????????????????????

% (cd dir1; jar c .) | (cd dir2; jar x)

jar ???????????? JAR ??????????????? JAR ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????Java Tutorial?????? JAR ???????????????????????????????????????

???????????????

c
jarfile ?????????????????????????????????????????????????????????????????? (f ??????????????????????????????)????????????????????????????????? (f ??? jarfile ??????????????????????????????)???inputfiles ???????????????????????????????????????????????????????????????????????????????????????????????????
u
inputfiles ????????????????????????????????????????????????????????????????????????????????????????????????????????? jarfile ?????????????????? (f ??????????????????????????????)??? ?????????????????????
jar uf foo.jar foo.class
???????????????????????????????????? foo.class ???????????? JAR ???????????? foo.jar ???????????????????????????????????????????????????-u ???????????????????????????????????????????????????????????????????????????
jar umf manifest foo.jar
foo.jar ????????????????????????????????????????????? name:value ???????????????????????????
x
jarfile ?????? (f ??????????????????????????????)?????????????????????????????? (f ??? jarfile ??????????????????????????????)?????????????????????????????????????????????????????????inputfiles ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
t
jarfile ?????? (f ??????????????????????????????)?????????????????????????????? (f ??? jarfile ??????????????????????????????)????????????????????????????????????????????????inputfiles ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
i
??????????????? jarfile ??????????????????????????? JAR ?????????????????????????????????????????????????????????????????????????????????????????????
jar i foo.jar

????????????????????????foo.jar ?????? INDEX.LIST ????????????????????????????????? ???????????????????????????foo.jar ??????foo.jar ??? Class-Path ???????????????????????????????????? JAR ???????????????????????????????????????????????????????????????????????????????????????????????? ??????????????????????????????????????????????????????

f
?????? (c)????????? (u)????????? (x)??????????????????????????? (i)?????????????????? (t) ????????????????????? jarfile ?????????????????????f ????????????????????????????????? jarfile ?????????????????????????????? ??????????????????????????????????????????????????????????????????????????????????????????f ??? jarfile ??????????????????????????????????????? JAR ???????????????????????????????????? (x ????????? t ?????????)?????????????????? jar ??????????????? ??????????????????????????? (c ????????? u ?????????)???
v
?????????????????????????????????????????????????????????????????????????????????
0
(??????) ZIP ??????????????????????????????????????????????????????
M
??????????????????????????????????????????????????????????????? (c ????????? u ?????????)??? ?????????????????????????????????????????????????????????????????????????????????????????????????????? (u ?????????)???
m
META-INF/MANIFEST.MF ???????????????????????????????????????????????????????????? manifest ??? name :value ??????????????????????????????????????????????????????????????????????????????????????? jar ????????? name : value ??????????????????????????????????????????????????????????????????jar ?????????????????????????????????

?????????????????????m ??? f ???????????????manifest ??? jarfile ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

jar cmf myManifestFile myFile.jar *.class
??????????????????????????????????????????????????????????????????????????????????????????????????? name : value ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? JAR ??????????????????????????????????????????????????????????????????????????????????????????????????????-m ????????????????????????????????????????????????Java Tutorial???????????????JAR Files??????????????????????????????????????????

e
???????????? JAR ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????entrypoint ??????????????????????????????????????????????????????????????????????????????????????????????????? Main-Class ??????????????????????????????????????????????????? ???????????????????????????JAR ?????????????????????????????????????????????????????????????????? ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

???????????????????????????????????? Main.jar ???????????????????????????????????????????????????????????????????????? Main-Class ???????????? Main ????????????????????????
jar cfe Main.jar Main Main.class

???????????????????????????????????? java ?????????????????????????????????????????????????????????????????????????????????

java -jar Main.jar
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? (???.???) ???????????????????????? (???/???) ???????????????????????????????????????Main.class ??? foo ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
jar -cfe Main.jar foo/Main foo/Main.class
?????????
jar -cfe Main.jar foo.Main foo/Main.class
???:  -m ?????????????????? -e ???????????????????????????????????????????????????????????????????????????????????????????????? Main-Class ?????????????????????????????????Main.class ????????????????????????????????????????????????????????????JAR ?????????????????????????????????????????????????????????

-C  dir
jar ???????????????????????????????????? inputfiles ????????????????????????????????????????????????????????????????????????????????? (cd dir)?????????????????????UNIX ??? tar ??????????????????????????? -C ???????????????????????????????????????????????????

???????????????????????????????????????classes ??????????????????????????????????????????????????????????????? bar.class ??? foo.jar ?????????????????????
jar uf foo.jar -C classes bar.class
???????????????????????????classes ?????????????????????????????????classes ??????????????????????????????????????????????????? foo.jar ?????????????????? (jar ?????????????????? classes ???????????????????????????????????????)??? ???????????????????????????????????????????????????bin ?????????????????????????????????xyz.class ??? foo.jar ?????????????????????
jar uf foo.jar -C classes . -C bin xyz.class
classes ??? bar1 ??? bar2 ?????????????????????????????????jar tf foo.jar ?????????????????????JAR ??????????????????????????????????????????????????????
META-INF/
META-INF/MANIFEST.MF
bar1
bar2
xyz.class

-Joption
Java ??????????????? option ?????????????????? option ????????????Java ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????? 1 ????????????????????????????????????-J-Xmx48M ?????????????????????????????????????????? 48M ?????????????????????????????????-J ???????????????????????????????????????????????????????????????????????????????????????????????????

?????????????????????????????????

jar ????????????????????????????????????????????????????????????????????????jar ?????????????????????????????? (-J ????????????????????????) ????????? 1 ??????????????????????????????????????????????????????????????????????????????????????????????????? jar ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ???????????????????????????????????????????????????????????????????????????????????????????????? (*) ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? @ ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????-J ?????????????????????????????????????????????????????? ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

jar ??????????????????????????????????????????????????????????????????????????????????????? @ ?????????????????????????????????jar ??????@ ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

??????????????????find ??????????????????????????????????????????????????? classes.list ??????????????????????????????

% find . -name '*.class' -print > classes.list

???????????????????????????????????????????????? jar ???????????????????????????Classes.list ??? jar ????????????????????????????????????

% jar cf my.jar @classes.list
?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ???????????????????????????
% jar @path1/classes.list

???

?????????????????????????????????????????????????????????????????????????????????????????? (???????????????????????????????????????????????????????????????????????????????????????) ????????????????????????????????????-v ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
% ls
1.au          Animator.class    monkey.jpg
2.au          Wave.class        spacemusic.au
3.au          at_work.gif

% jar cvf bundle.jar *
added manifest
adding: 1.au(in = 2324) (out= 67)(deflated 97%)
adding: 2.au(in = 6970) (out= 90)(deflated 98%)
adding: 3.au(in = 11616) (out= 108)(deflated 99%)
adding: Animator.class(in = 2266) (out= 66)(deflated 97%)
adding: Wave.class(in = 3778) (out= 81)(deflated 97%)
adding: at_work.gif(in = 6621) (out= 89)(deflated 98%)
adding: monkey.jpg(in = 7667) (out= 91)(deflated 98%)
adding: spacemusic.au(in = 3079) (out= 73)(deflated 97%)
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? JAR ????????????????????????????????????
% ls -F
audio/ classes/ images/

% jar cvf bundle.jar audio classes images
added manifest
adding: audio/(in = 0) (out= 0)(stored 0%)
adding: audio/1.au(in = 2324) (out= 67)(deflated 97%)
adding: audio/2.au(in = 6970) (out= 90)(deflated 98%)
adding: audio/3.au(in = 11616) (out= 108)(deflated 99%)
adding: audio/spacemusic.au(in = 3079) (out= 73)(deflated 97%)
adding: classes/(in = 0) (out= 0)(stored 0%)
adding: classes/Animator.class(in = 2266) (out= 66)(deflated 97%)
adding: classes/Wave.class(in = 3778) (out= 81)(deflated 97%)
adding: images/(in = 0) (out= 0)(stored 0%)
adding: images/monkey.jpg(in = 7667) (out= 91)(deflated 98%)
adding: images/at_work.gif(in = 6621) (out= 89)(deflated 98%)

% ls -F
audio/ bundle.jar classes/ images/
JAR ?????????????????????????????????????????????????????????t???????????????????????????????????????
% jar tf bundle.jar
META-INF/
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

?????????????????????????????????????????????????????????????????????????????? JAR ???????????????????????????????????????i???????????????????????????????????????

???:

???????????????????????????????????????????????????????????????????????????????????????main.jar???buy.jar???????????? sell.jar ????????? 3 ?????? JAR ??????????????????????????????????????????

main.jar ???????????????????????? Class-path ?????????????????????????????????????????????
Class-Path: buy.jar sell.jar
-i ??????????????????????????????????????????????????????????????????????????? ???????????????????????????????????????
% jar i main.jar
INDEX.LIST ??????????????? META-INF ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ????????????????????????????????????????????????????????? jar ????????????????????????????????????????????????

????????????

???JAR ????????????????????????
???JAR ????????????????????????
???Jar ?????????????????????
???Jar ???????????????????????? (Java Software ??? Web ????????????)
???pack200 ??????????????????????????????

Copyright © 1995-2010 Sun Microsystems, Inc. All Rights Reserved.

Please send comments using this Feedback page.
Sun Microsystems, Inc.
Java Technology