jar(1) Basic Tools jar(1) (NAME) jar - (JAR). (SYNOPSIS) JAR jar c[efmMnv0] [entrypoint] [jarfile] [manifest] [-C dir] file ... [-Joption ...] [@arg-file ...] JAR jar u[efmMnv0] [entrypoint] [jarfile] [manifest] [-C dir] file ... [-Joption ...] [@arg-file ...] JAR jar x[vf] [jarfile] file ... [-Joption ...] [@arg-file ...] JAR jar t[vf] [jarfile] file ... [-Joption ...] [@arg-file ...] (Index) JAR jar i jarfile [-Joption ...] [@arg-file ...] (DESCRIPTION) jar ZIP ZLIB . jar (applets) . ( ) ( ) HTTP . . jar . jar . JAR class path . jar tar . . . (OPERATION ARGUMENTS) jar . . c JAR . i (index) JAR . t JAR . u JAR . x JAR . (OPTIONS) JAR : e entrypoint (entry point) JAR . Main-Class . e (c) (u) JAR . Main.jar Main.class Main-Class Main : jar cfe Main.jar Main Main.class (JRE) : java -jar Main.jar (package) (.) (/) . Main.class mydir : jar -cfe Main.jar mydir/Main mydir/Main.class jar -cfe Main.jar mydir.Main mydir/Main.class m e Main-Class Main-Class . jar . f jarfile JAR (c) (u) (x) (t) . f jarfile jar JAR stdin ( x t) JAR stdout ( c u). m manifest jar ( META-INF/MANIFEST.MF ) . jar JAR jar . m (c) (u) JAR . - . (package sealing) JAR . m Packaging Programs . M ( c u) ( u). M (c) (u) JAR . n (c) JAR pack200(1) . JAR . v (verbose) . <<>> . 0 () JAR ZIP (c) (u) . -C dir (c) (u) JAR file . -C tar . classes Bar.class my.jar : jar uf my.jar -C classes Bar.class classes my.jar ( classes JAR) bin Xyz.class my.jar . jar uf my.jar -C classes . -C bin Xyz.class classes bar1 bar2 JAR : % jar tf my.jar META-INF/ META-INF/MANIFEST.MF bar1 bar2 Xyz.class -Joption JVM JAR JRE . JVM java(1) . -J-Xms48m . (OPERANDS) jar . file (c) (u) JAR file . (x) (t) JAR file . . file . entrypoint jarfile manifest file . entrypoint (c) (u) JAR entrypoint (entry point) Java JAR . e entrypoint . jarfile (c) (u) (x) (t) . f jarfile . f jarfile jar JAR stdin ( x t) JAR stdout ( c u). (i) JAR jarfile f . manifest (c) (u) JAR manifest MANIFEST.MF JAR . f manifest . @arg-file jar (@) jar . jar . jar ( -J ). (newline) . jar . (wildcard) (*) . classes.list find : find . -name '*.class' -print > classes.list jar classes.list @arg-file : jar cf my.jar @classes.list jar : jar @dir/classes.list (NOTES) e f m entrypoint jarfile manifest : jar cmef myManifestFile MyMainClass myFile.jar *.class (EXAMPLES) % 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%) % 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 % 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 .PP JAR i : main.jar buy.jar sell.jar. Class-Path main.jar i : Class-Path: buy.jar sell.jar jar i main.jar INDEX.LIST META- INF . JAR . . dir1 stdout stdin dir2 ( -f jar): (cd dir1; jar c .) | (cd dir2; jar x) (SEE ALSO) o pack200(1). o JAR The Java Tutorials http://docs.oracle.com/javase/tutorial/deployment/jar/index.html JDK 8 21 November 2013 jar(1)