jar - Java ARchive ?????????
Documentation Contents
p, li {font-size: medium;
font-family: serif}
code, tt, pre {font-size: 125%;
font-family: monospace;
font-weight;
color: black;
}
.red {color: red }
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.
Java Technology
Wyszukiwarka
Podobne podstrony:
Metallica Whiskey In The JarjarJAR 23 Struktury07 Helmowy Jaruruk jarjarJar Cityjarjarwięcej podobnych podstron