jdk/src/linux/doc/man/jar.1
author michaelm
Thu, 13 Jan 2011 11:01:30 +0000
changeset 7980 3af394bb6f59
parent 5865 47da38a8c0f0
child 9573 c02ff5a7c67b
permissions -rw-r--r--
6896088: URLClassLoader.close() apparently not working for JAR URLs on Windows Reviewed-by: chegar
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5865
47da38a8c0f0 6955341: Oracle rebranding changes for man pages
bpatel
parents: 5506
diff changeset
     1
." Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
     2
." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
90ce3da70b43 Initial load
duke
parents:
diff changeset
     3
."
90ce3da70b43 Initial load
duke
parents:
diff changeset
     4
." This code is free software; you can redistribute it and/or modify it
90ce3da70b43 Initial load
duke
parents:
diff changeset
     5
." under the terms of the GNU General Public License version 2 only, as
90ce3da70b43 Initial load
duke
parents:
diff changeset
     6
." published by the Free Software Foundation.
90ce3da70b43 Initial load
duke
parents:
diff changeset
     7
."
90ce3da70b43 Initial load
duke
parents:
diff changeset
     8
." This code is distributed in the hope that it will be useful, but WITHOUT
90ce3da70b43 Initial load
duke
parents:
diff changeset
     9
." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
90ce3da70b43 Initial load
duke
parents:
diff changeset
    10
." FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
90ce3da70b43 Initial load
duke
parents:
diff changeset
    11
." version 2 for more details (a copy is included in the LICENSE file that
90ce3da70b43 Initial load
duke
parents:
diff changeset
    12
." accompanied this code).
90ce3da70b43 Initial load
duke
parents:
diff changeset
    13
."
90ce3da70b43 Initial load
duke
parents:
diff changeset
    14
." You should have received a copy of the GNU General Public License version
90ce3da70b43 Initial load
duke
parents:
diff changeset
    15
." 2 along with this work; if not, write to the Free Software Foundation,
90ce3da70b43 Initial load
duke
parents:
diff changeset
    16
." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    17
."
5506
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 2692
diff changeset
    18
." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 2692
diff changeset
    19
." or visit www.oracle.com if you need additional information or have any
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 2692
diff changeset
    20
." questions.
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    21
."
5865
47da38a8c0f0 6955341: Oracle rebranding changes for man pages
bpatel
parents: 5506
diff changeset
    22
.TH jar 1 "02 Jun 2010"
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    23
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    24
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    25
.SH "Name"
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    26
jar\-The Java Archive Tool
90ce3da70b43 Initial load
duke
parents:
diff changeset
    27
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    28
\f3jar\fP combines multiple files into a single JAR archive file.   
90ce3da70b43 Initial load
duke
parents:
diff changeset
    29
.SH "SYNOPSIS"
90ce3da70b43 Initial load
duke
parents:
diff changeset
    30
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    31
90ce3da70b43 Initial load
duke
parents:
diff changeset
    32
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    33
.RS 3
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    34
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
    35
Create jar file 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    36
\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 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    37
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
    38
Update jar file 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    39
\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 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    40
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
    41
Extract jar file 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    42
\f4jar x\fP\f2[vf] [\fP\f2jarfile\fP\f2] [\fP\f2inputfiles\fP\f2] [\-J\fP\f2option\fP\f2]\fP 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    43
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
    44
List table of contents of jar file 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    45
\f4jar t\fP\f2[vf] [\fP\f2jarfile\fP\f2] [\fP\f2inputfiles\fP\f2] [\-J\fP\f2option\fP\f2]\fP 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    46
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
    47
Add index to jar file 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    48
\f4jar i\fP \f2jarfile\fP \f2[\-J\fP\f2option\fP\f2]\fP 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    49
.RE
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    50
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    51
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    52
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    53
where:
90ce3da70b43 Initial load
duke
parents:
diff changeset
    54
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    55
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
    56
90ce3da70b43 Initial load
duke
parents:
diff changeset
    57
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    58
.RS 3
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    59
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
    60
cuxtiv0Mmfe 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    61
Options that control the \f2jar\fP command. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    62
.TP 3
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    63
jarfile 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    64
Jar file to be created (\f2c\fP), updated (\f2u\fP), extracted (\f2x\fP), or have its table of contents viewed (\f2t\fP). The \f2\-f\fP option and filename \f2jarfile\fP are a pair \-\- if either is present, they must both appear. Note that omitting \f2f\fP and \f2jarfile\fP accepts a "jar file" from standard input (for x and t) or sends the "jar file" to standard output (for c and u). 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    65
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
    66
inputfiles 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    67
Files or directories, separated by spaces, to be combined into \f2jarfile\fP (for c and u), or to be extracted (for x) or listed (for t) from \f2jarfile\fP. All directories are processed recursively. The files are compressed unless option \f20\fP (zero) is used. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    68
.TP 3
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    69
manifest 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    70
Pre\-existing manifest file whose \f2name\fP\f2:\fP \f2value\fP pairs are to be included in MANIFEST.MF in the jar file. The \f2\-m\fP option and filename \f2manifest\fP are a pair \-\- if either is present, they must both appear. The letters \f3m\fP, \f3f\fP and \f3e\fP must appear in the same order that \f2manifest\fP, \f2jarfile\fP, \f2entrypoint\fP appear. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    71
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
    72
entrypoint 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    73
The name of the class that set as the application entry point for stand\-alone applications bundled into executable jar file. The \f2\-e\fP option and entrypoint are a pair \-\- if either is present, they must both appear. The letters \f3m\fP, \f3f\fP and \f3e\fP must appear in the same order that \f2manifest\fP, \f2jarfile\fP, \f2entrypoint\fP appear. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    74
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
    75
\-C\ dir 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    76
Temporarily changes directories to \f2dir\fP while processing the following \f2inputfiles\fP argument. Multiple \f2\-C\ \fP\f2dir\fP \f2inputfiles\fP sets are allowed. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    77
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
    78
\-Joption 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    79
Option to be passed into the Java runtime environment. (There must be no space between \f2\-J\fP and \f2option\fP). 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    80
.RE
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    81
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    82
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    83
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
    84
.SH "DESCRIPTION"
90ce3da70b43 Initial load
duke
parents:
diff changeset
    85
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    86
90ce3da70b43 Initial load
duke
parents:
diff changeset
    87
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    88
The \f3jar\fP tool combines multiple files into a single JAR archive file. \f3jar\fP is a general\-purpose archiving and compression tool, based on ZIP and the 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    89
.na
90ce3da70b43 Initial load
duke
parents:
diff changeset
    90
\f2ZLIB\fP @
90ce3da70b43 Initial load
duke
parents:
diff changeset
    91
.fi
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    92
http://www.gzip.org/zlib/ compression format. However, \f3jar\fP was designed mainly package java applets or applications into a single archive. When the components of an applet or application (files, images and sounds) are combined into a single archive, they can be downloaded by a java agent (like a browser) in a single HTTP transaction, rather than requiring a new connection for each piece. This dramatically improves download times. \f3jar\fP also compresses files and so further improves download time. In addition, it allows individual entries in a file to be signed by the applet author so that their origin can be authenticated. The syntax for the jar tool is almost identical to the syntax for the \f2tar\fP command. A \f3jar\fP archive can be used as a class path entry, whether or not it is compressed. 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    93
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    94
Typical usage to combine files into a jar file is:
90ce3da70b43 Initial load
duke
parents:
diff changeset
    95
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    96
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
    97
90ce3da70b43 Initial load
duke
parents:
diff changeset
    98
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    99
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   100
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   101
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   102
% jar cf myFile.jar *.class
90ce3da70b43 Initial load
duke
parents:
diff changeset
   103
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   104
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   105
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   106
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   107
90ce3da70b43 Initial load
duke
parents:
diff changeset
   108
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   109
In this example, all the class files in the current directory are placed into the file named \f2myFile.jar\fP. The jar tool automatically generates a manifest file entry named \f2META\-INF/MANIFEST.MF\fP. It is always the first entry in the jar file. The manifest file declares meta\-information about the archive, and stores that data as \f2name\ :\ value\fP pairs. Refer to the 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   110
.na
90ce3da70b43 Initial load
duke
parents:
diff changeset
   111
\f2JAR file specification\fP @
90ce3da70b43 Initial load
duke
parents:
diff changeset
   112
.fi
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   113
http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR%20Manifest for details explaining how the jar tool stores meta\-information in the manifest file. 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   114
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   115
If a jar file should include \f2name\ :\ value\fP pairs contained in an existing manifest file, specify that file using the \f2\-m\fP option:
90ce3da70b43 Initial load
duke
parents:
diff changeset
   116
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   117
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   118
90ce3da70b43 Initial load
duke
parents:
diff changeset
   119
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   120
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   121
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   122
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   123
% jar cmf myManifestFile myFile.jar *.class
90ce3da70b43 Initial load
duke
parents:
diff changeset
   124
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   125
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   126
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   127
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   128
90ce3da70b43 Initial load
duke
parents:
diff changeset
   129
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   130
An existing manifest file must end with a new line character.\  \f3jar\fP does not parse the last line of a manifest file if it does not end with a new line character.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   131
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
   132
90ce3da70b43 Initial load
duke
parents:
diff changeset
   133
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   134
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
   135
90ce3da70b43 Initial load
duke
parents:
diff changeset
   136
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   137
\f3Note:\ \fP A jar command that specifies \f2cfm\fP on the command line instead of \f2cmf\fP (the order of the m and \-f options are reversed), the \f3jar\fP command line must specify the name of the jar archive first, followed by the name of the manifest file: 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   138
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   139
90ce3da70b43 Initial load
duke
parents:
diff changeset
   140
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   141
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   142
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   143
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   144
% jar cfm myFile.jar myManifestFile *.class
90ce3da70b43 Initial load
duke
parents:
diff changeset
   145
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   146
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   147
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   148
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   149
90ce3da70b43 Initial load
duke
parents:
diff changeset
   150
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   151
The manifest is in a text format inspired by RFC822 ASCII format, so it is easy to view and process manifest\-file contents. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   152
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   153
To extract the files from a jar file, use \f2x\fP:
90ce3da70b43 Initial load
duke
parents:
diff changeset
   154
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   155
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   156
90ce3da70b43 Initial load
duke
parents:
diff changeset
   157
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   158
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   159
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   160
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   161
% jar xf myFile.jar
90ce3da70b43 Initial load
duke
parents:
diff changeset
   162
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   163
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   164
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   165
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   166
90ce3da70b43 Initial load
duke
parents:
diff changeset
   167
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   168
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   169
To extract individual files from a jar file, supply their filenames:
90ce3da70b43 Initial load
duke
parents:
diff changeset
   170
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   171
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   172
90ce3da70b43 Initial load
duke
parents:
diff changeset
   173
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   174
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   175
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   176
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   177
% jar xf myFile.jar foo bar
90ce3da70b43 Initial load
duke
parents:
diff changeset
   178
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   179
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   180
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   181
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   182
90ce3da70b43 Initial load
duke
parents:
diff changeset
   183
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   184
.LP
5865
47da38a8c0f0 6955341: Oracle rebranding changes for man pages
bpatel
parents: 5506
diff changeset
   185
Beginning with version 1.3 of the JDK, the \f2jar\fP utility supports 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   186
.na
90ce3da70b43 Initial load
duke
parents:
diff changeset
   187
\f2JarIndex\fP @
90ce3da70b43 Initial load
duke
parents:
diff changeset
   188
.fi
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   189
http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR%20Index, which allows application class loaders to load classes more efficiently from jar files. If an application or applet is bundled into multiple jar files,\  only the necessary jar files will be downloaded and opened to load classes. This performance optimization is enabled by running \f2jar\fP with the \f2\-i\fPoption. It will generate package location information for the specified main jar file and all the jar files it depends on, which need to be specified in the \f2Class\-Path\fP attribute of the main jar file's manifest.
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   190
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   191
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   192
90ce3da70b43 Initial load
duke
parents:
diff changeset
   193
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   194
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   195
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   196
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   197
% jar i main.jar
90ce3da70b43 Initial load
duke
parents:
diff changeset
   198
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   199
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   200
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   201
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   202
90ce3da70b43 Initial load
duke
parents:
diff changeset
   203
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   204
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   205
In this example, an \f2INDEX.LIST\fP file is inserted into the \f2META\-INF\fP directory of \f2main.jar\fP.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   206
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
   207
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
   208
The application class loader uses the information stored in this file for efficient class loading.\  For details about how location information is stored in the index file, refer to the \f2JarIndex\fP specification.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   209
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
   210
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
   211
To copy directories, first compress files in \f2dir1\fP to \f2stdout\fP, then extract from \f2stdin\fP to \f2dir2\fP (omitting the \f2\-f\fP option from both \f2jar\fP commands):
90ce3da70b43 Initial load
duke
parents:
diff changeset
   212
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   213
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   214
90ce3da70b43 Initial load
duke
parents:
diff changeset
   215
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   216
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   217
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   218
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   219
% (cd dir1; jar c .) | (cd dir2; jar x)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   220
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   221
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   222
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   223
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   224
90ce3da70b43 Initial load
duke
parents:
diff changeset
   225
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   226
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   227
To review command samples which use \f2jar\fP to opeate on jar files and jar file manifests, see Examples, below. Also refer to the jar trail of the 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   228
.na
90ce3da70b43 Initial load
duke
parents:
diff changeset
   229
\f2Java Tutorial\fP @
90ce3da70b43 Initial load
duke
parents:
diff changeset
   230
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   231
http://java.sun.com/docs/books/tutorial/jar.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   232
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   233
.SH "OPTIONS"
90ce3da70b43 Initial load
duke
parents:
diff changeset
   234
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   235
90ce3da70b43 Initial load
duke
parents:
diff changeset
   236
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   237
.RS 3
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   238
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   239
c 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   240
Creates a new archive file named \f2jarfile\fP (if \f2f\fP is specified) or to standard output (if \f2f\fP and \f2jarfile\fP are omitted). Add to it the files and directories specified by \f2inputfiles\fP. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   241
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   242
u 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   243
Updates an existing file \f2jarfile\fP (when \f2f\fP is specified) by adding to it files and directories specified by \f2inputfiles\fP. For example: 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   244
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   245
90ce3da70b43 Initial load
duke
parents:
diff changeset
   246
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   247
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   248
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   249
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   250
jar uf foo.jar foo.class
90ce3da70b43 Initial load
duke
parents:
diff changeset
   251
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   252
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   253
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   254
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   255
would add the file \f2foo.class\fP to the existing jar file \f2foo.jar\fP. The \f2\-u\fP option can also update the manifest entry, as given by this example: 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   256
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   257
90ce3da70b43 Initial load
duke
parents:
diff changeset
   258
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   259
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   260
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   261
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   262
jar umf manifest foo.jar
90ce3da70b43 Initial load
duke
parents:
diff changeset
   263
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   264
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   265
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   266
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   267
updates the \f2foo.jar\fP manifest with the \f2name : value\fP pairs in \f2manifest\fP. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   268
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   269
x 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   270
Extracts files and directories from \f2jarfile\fP (if \f2f\fP is specified) or standard input (if \f2f\fP and \f2jarfile\fP are omitted). If \f2inputfiles\fP is specified, only those specified files and directories are extracted. Otherwise, all files and directories are extracted. The time and date of the extracted files are those given in the archive. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   271
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   272
t 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   273
Lists the table of contents from \f2jarfile\fP (if \f2f\fP is specified) or standard input (if \f2f\fP and \f2jarfile\fP are omitted). If \f2inputfiles\fP is specified, only those specified files and directories are listed. Otherwise, all files and directories are listed. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   274
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   275
i 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   276
Generate index information for the specified \f2jarfile\fP and its dependent jar files. For example: 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   277
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   278
90ce3da70b43 Initial load
duke
parents:
diff changeset
   279
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   280
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   281
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   282
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   283
jar i foo.jar
90ce3da70b43 Initial load
duke
parents:
diff changeset
   284
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   285
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   286
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   287
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   288
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   289
would generate an \f2INDEX.LIST\fP file in \f2foo.jar\fP which contains location information for each package in \f2foo.jar\fP and all the jar files specified in the \f2Class\-Path\fP attribute of \f2foo.jar\fP. See the index example.   
90ce3da70b43 Initial load
duke
parents:
diff changeset
   290
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   291
f 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   292
Specifies the file \f2jarfile\fP to be created (\f2c\fP), updated (\f2u\fP), extracted (\f2x\fP), indexed (\f2i\fP), or viewed (\f2t\fP). The \f2\-f\fP option and filename \f2jarfile\fP are a pair \-\- if present, they must both appear. Omitting \f2f\fP and \f2jarfile\fP accepts a jar file name from \f2stdin\fP(for x and t) or sends jar file to \f2stdout\fP (for c and u). 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   293
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   294
v 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   295
Generates verbose output to standard output. Examples shown below. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   296
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   297
0 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   298
(zero) Store without using ZIP compression. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   299
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   300
M 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   301
Do not create a manifest file entry (for c and u), or delete a manifest file entry if one exists (for u). 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   302
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   303
m 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   304
Includes \f2name : value\fP attribute pairs from the specified manifest file \f2manifest\fP in the file at \f2META\-INF/MANIFEST.MF\fP. \f2jar\fP adds a \f2name\ :\ value\fP pair unless an entry already exists with the same name, in which case \f2jar\fP updates its value. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   305
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   306
On the command line, the letters \f3m\fP and \f3f\fP must appear in the same order that \f2manifest\fP and \f2jarfile\fP appear. Example use: 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   307
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   308
90ce3da70b43 Initial load
duke
parents:
diff changeset
   309
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   310
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   311
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   312
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   313
jar cmf myManifestFile myFile.jar *.class
90ce3da70b43 Initial load
duke
parents:
diff changeset
   314
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   315
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   316
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   317
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   318
You can add special\-purpose \f2name\ :\ value\fP attribute pairs to the manifest that aren't contained in the default manifest. For example, you can add attributes specifying vendor information, version information, package sealing, or to make JAR\-bundled applications executable. See the 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   319
.na
90ce3da70b43 Initial load
duke
parents:
diff changeset
   320
\f2JAR Files\fP @
90ce3da70b43 Initial load
duke
parents:
diff changeset
   321
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   322
http://java.sun.com/docs/books/tutorial/jar/ trail in the Java Tutorial  for examples of using the \f4\-m\fP option. 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   323
.LP
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   324
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   325
e 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   326
Sets \f2entrypoint\fP as the application entry point for stand\-alone applications bundled into executable jar file. The use of this option creates or overrides the \f2Main\-Class\fP attribute value in the manifest file. This option can be used during creation of jar file or while updating the jar file. This option specifies the application entry point without editing or creating the manifest file.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   327
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
   328
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
   329
For example, this command creates \f2Main.jar\fP where the \f2Main\-Class\fP attribute value in the manifest is set to \f2Main\fP: 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   330
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   331
90ce3da70b43 Initial load
duke
parents:
diff changeset
   332
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   333
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   334
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   335
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   336
jar cfe Main.jar Main Main.class
90ce3da70b43 Initial load
duke
parents:
diff changeset
   337
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   338
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   339
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   340
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   341
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   342
The java runtime can directly invoke this application by running the following command: 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   343
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   344
90ce3da70b43 Initial load
duke
parents:
diff changeset
   345
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   346
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   347
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   348
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   349
java \-jar Main.jar
90ce3da70b43 Initial load
duke
parents:
diff changeset
   350
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   351
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   352
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   353
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   354
If the entrypoint class name is in a package it may use either a dot (".") or slash ("/") character as the delimiter. For example, if \f2Main.class\fP is in a package called \f2foo\fP the entry point can be specified in the following ways: 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   355
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   356
90ce3da70b43 Initial load
duke
parents:
diff changeset
   357
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   358
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   359
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   360
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   361
jar \-cfe Main.jar foo/Main foo/Main.class
90ce3da70b43 Initial load
duke
parents:
diff changeset
   362
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   363
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   364
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   365
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   366
or 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   367
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   368
90ce3da70b43 Initial load
duke
parents:
diff changeset
   369
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   370
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   371
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   372
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   373
jar \-cfe Main.jar foo.Main foo/Main.class
90ce3da70b43 Initial load
duke
parents:
diff changeset
   374
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   375
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   376
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   377
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   378
\f3Note:\ \fP specifying both \f2\-m\fP and \f2\-e\fP options together when the given manifest also contains the \f2Main\-Class\fP attribute results in an ambigous \f2Main.class\fP specification, leading to an error and the jar creation or update operation is aborted. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   379
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   380
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   381
\-C \ dir 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   382
Temporarily changes directories (\f2cd\fP\ \f2dir\fP) during execution of the \f2jar\fP command while processing the following \f2inputfiles\fP argument. Its operation is intended to be similar to the \f2\-C\fP option of the UNIX \f2tar\fP utility.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   383
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
   384
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
   385
For example, this command changes to the \f2classes\fP directory and adds the \f2bar.class\fP from that directory to \f2foo.jar\fP: 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   386
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   387
90ce3da70b43 Initial load
duke
parents:
diff changeset
   388
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   389
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   390
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   391
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   392
jar uf foo.jar \-C classes bar.class
90ce3da70b43 Initial load
duke
parents:
diff changeset
   393
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   394
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   395
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   396
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   397
This command changes to the \f2classes\fP directory and adds to \f2foo.jar\fP all files within the \f2classes\fP directory (without creating a classes directory in the jar file), then changes back to the original directory before changing to the \f2bin\fP directory to add \f2xyz.class\fP to \f2foo.jar\fP. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   398
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   399
90ce3da70b43 Initial load
duke
parents:
diff changeset
   400
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   401
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   402
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   403
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   404
jar uf foo.jar \-C classes . \-C bin xyz.class
90ce3da70b43 Initial load
duke
parents:
diff changeset
   405
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   406
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   407
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   408
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   409
If \f2classes\fP holds files \f2bar1\fP and \f2bar2\fP, then here's what the jar file will contain using \f2jar tf foo.jar\fP: 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   410
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   411
90ce3da70b43 Initial load
duke
parents:
diff changeset
   412
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   413
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   414
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   415
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   416
META\-INF/
90ce3da70b43 Initial load
duke
parents:
diff changeset
   417
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   418
META\-INF/MANIFEST.MF
90ce3da70b43 Initial load
duke
parents:
diff changeset
   419
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   420
bar1
90ce3da70b43 Initial load
duke
parents:
diff changeset
   421
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   422
bar2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   423
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   424
xyz.class
90ce3da70b43 Initial load
duke
parents:
diff changeset
   425
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   426
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   427
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   428
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   429
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   430
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   431
\-Joption 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   432
Pass \f2option\fP to the Java runtime environment, where \f2option\fP is one of the options described on the reference page for the java application launcher. For example, \f4\-J\-Xmx48M\fP sets the maximum memory to 48 megabytes. It is a common convention for \f2\-J\fP to pass options to the underlying runtime environment. 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   433
.RE
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   434
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   435
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   436
.SH "COMMAND LINE ARGUMENT FILES"
90ce3da70b43 Initial load
duke
parents:
diff changeset
   437
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   438
90ce3da70b43 Initial load
duke
parents:
diff changeset
   439
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   440
To shorten or simplify the jar command line, you can specify one or more files that themselves contain arguments to the \f2jar\fP command (except \f2\-J\fP options). This enables you to create jar commands of any length, overcoming command line limits imposed by the operating system. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   441
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   442
An argument file can include options and filenames. The arguments within a file can be space\-separated or newline\-separated. Filenames within an argument file are relative to the current directory, not relative to the location of the argument file. Wildcards (*) that might otherwise be expanded by the operating system shell are not expanded. Use of the \f2@\fP character to recursively interpret files is not supported. The \f2\-J\fP options are not supported because they are passed to the launcher, which does not support argument files.
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   443
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   444
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   445
When executing \f2jar\fP, pass in the path and name of each argument file with the \f2@\fP leading character. When \f2jar\fP encounters an argument beginning with the character \f2@\fP, it expands the contents of that file into the argument list.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   446
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
   447
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
   448
The example below, \f2classes.list\fP holds the names of files output by a \f2find\fP command: 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   449
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   450
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   451
90ce3da70b43 Initial load
duke
parents:
diff changeset
   452
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   453
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   454
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   455
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   456
% find \fP\f3.\fP \-name '*.class' \-print > classes.list
90ce3da70b43 Initial load
duke
parents:
diff changeset
   457
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   458
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   459
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   460
90ce3da70b43 Initial load
duke
parents:
diff changeset
   461
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   462
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   463
You can then execute the \f2jar\fP command on \f2Classes.list\fP by passing it to \f2jar\fP using argfile syntax:
90ce3da70b43 Initial load
duke
parents:
diff changeset
   464
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   465
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   466
90ce3da70b43 Initial load
duke
parents:
diff changeset
   467
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   468
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   469
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   470
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   471
% jar cf my.jar @classes.list
90ce3da70b43 Initial load
duke
parents:
diff changeset
   472
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   473
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   474
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   475
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   476
90ce3da70b43 Initial load
duke
parents:
diff changeset
   477
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   478
An argument file can specify a path, but any filenames inside the argument file that have relative paths are relative to the current working directory, not to the path passed in. Here is an example: 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   479
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   480
90ce3da70b43 Initial load
duke
parents:
diff changeset
   481
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   482
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   483
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   484
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   485
% jar @path1/classes.list
90ce3da70b43 Initial load
duke
parents:
diff changeset
   486
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   487
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   488
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   489
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   490
90ce3da70b43 Initial load
duke
parents:
diff changeset
   491
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   492
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   493
90ce3da70b43 Initial load
duke
parents:
diff changeset
   494
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   495
.SH "EXAMPLES"
90ce3da70b43 Initial load
duke
parents:
diff changeset
   496
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   497
90ce3da70b43 Initial load
duke
parents:
diff changeset
   498
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   499
To add all the files in a particular directory to an archive (overwriting contents if the archive already exists). Enumerating verbosely (with the \f2\-v\fP option) will tell you more information about the files in the archive, such as their size and last modified date. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   500
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   501
90ce3da70b43 Initial load
duke
parents:
diff changeset
   502
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   503
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   504
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   505
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   506
% ls
90ce3da70b43 Initial load
duke
parents:
diff changeset
   507
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   508
1.au          Animator.class    monkey.jpg
90ce3da70b43 Initial load
duke
parents:
diff changeset
   509
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   510
2.au          Wave.class        spacemusic.au
90ce3da70b43 Initial load
duke
parents:
diff changeset
   511
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   512
3.au          at_work.gif
90ce3da70b43 Initial load
duke
parents:
diff changeset
   513
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   514
90ce3da70b43 Initial load
duke
parents:
diff changeset
   515
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   516
% jar cvf bundle.jar *
90ce3da70b43 Initial load
duke
parents:
diff changeset
   517
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   518
added manifest
90ce3da70b43 Initial load
duke
parents:
diff changeset
   519
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   520
adding: 1.au(in = 2324) (out= 67)(deflated 97%)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   521
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   522
adding: 2.au(in = 6970) (out= 90)(deflated 98%)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   523
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   524
adding: 3.au(in = 11616) (out= 108)(deflated 99%)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   525
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   526
adding: Animator.class(in = 2266) (out= 66)(deflated 97%)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   527
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   528
adding: Wave.class(in = 3778) (out= 81)(deflated 97%)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   529
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   530
adding: at_work.gif(in = 6621) (out= 89)(deflated 98%)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   531
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   532
adding: monkey.jpg(in = 7667) (out= 91)(deflated 98%)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   533
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   534
adding: spacemusic.au(in = 3079) (out= 73)(deflated 97%)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   535
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   536
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   537
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   538
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   539
90ce3da70b43 Initial load
duke
parents:
diff changeset
   540
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   541
If you already have separate subdirectories for images, audio files and classes, you can combine them into a single jar file: 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   542
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   543
90ce3da70b43 Initial load
duke
parents:
diff changeset
   544
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   545
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   546
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   547
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   548
% ls \-F
90ce3da70b43 Initial load
duke
parents:
diff changeset
   549
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   550
audio/ classes/ images/
90ce3da70b43 Initial load
duke
parents:
diff changeset
   551
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   552
90ce3da70b43 Initial load
duke
parents:
diff changeset
   553
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   554
% jar cvf bundle.jar audio classes images
90ce3da70b43 Initial load
duke
parents:
diff changeset
   555
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   556
added manifest
90ce3da70b43 Initial load
duke
parents:
diff changeset
   557
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   558
adding: audio/(in = 0) (out= 0)(stored 0%)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   559
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   560
adding: audio/1.au(in = 2324) (out= 67)(deflated 97%)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   561
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   562
adding: audio/2.au(in = 6970) (out= 90)(deflated 98%)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   563
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   564
adding: audio/3.au(in = 11616) (out= 108)(deflated 99%)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   565
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   566
adding: audio/spacemusic.au(in = 3079) (out= 73)(deflated 97%)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   567
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   568
adding: classes/(in = 0) (out= 0)(stored 0%)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   569
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   570
adding: classes/Animator.class(in = 2266) (out= 66)(deflated 97%)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   571
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   572
adding: classes/Wave.class(in = 3778) (out= 81)(deflated 97%)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   573
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   574
adding: images/(in = 0) (out= 0)(stored 0%)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   575
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   576
adding: images/monkey.jpg(in = 7667) (out= 91)(deflated 98%)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   577
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   578
adding: images/at_work.gif(in = 6621) (out= 89)(deflated 98%)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   579
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   580
90ce3da70b43 Initial load
duke
parents:
diff changeset
   581
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   582
% ls \-F
90ce3da70b43 Initial load
duke
parents:
diff changeset
   583
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   584
audio/ bundle.jar classes/ images/
90ce3da70b43 Initial load
duke
parents:
diff changeset
   585
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   586
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   587
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   588
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   589
90ce3da70b43 Initial load
duke
parents:
diff changeset
   590
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   591
To see the entry names in the jarfile, use the \f2t\fP option: 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   592
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   593
90ce3da70b43 Initial load
duke
parents:
diff changeset
   594
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   595
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   596
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   597
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   598
% jar tf bundle.jar
90ce3da70b43 Initial load
duke
parents:
diff changeset
   599
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   600
META\-INF/
90ce3da70b43 Initial load
duke
parents:
diff changeset
   601
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   602
META\-INF/MANIFEST.MF
90ce3da70b43 Initial load
duke
parents:
diff changeset
   603
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   604
audio/1.au
90ce3da70b43 Initial load
duke
parents:
diff changeset
   605
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   606
audio/2.au
90ce3da70b43 Initial load
duke
parents:
diff changeset
   607
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   608
audio/3.au
90ce3da70b43 Initial load
duke
parents:
diff changeset
   609
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   610
audio/spacemusic.au
90ce3da70b43 Initial load
duke
parents:
diff changeset
   611
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   612
classes/Animator.class
90ce3da70b43 Initial load
duke
parents:
diff changeset
   613
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   614
classes/Wave.class
90ce3da70b43 Initial load
duke
parents:
diff changeset
   615
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   616
images/monkey.jpg
90ce3da70b43 Initial load
duke
parents:
diff changeset
   617
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   618
images/at_work.gif
90ce3da70b43 Initial load
duke
parents:
diff changeset
   619
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   620
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   621
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   622
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   623
90ce3da70b43 Initial load
duke
parents:
diff changeset
   624
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   625
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   626
To add an index file to the jar file for speeding up class loading, use the \f2i\fP option.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   627
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
   628
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
   629
Example:
90ce3da70b43 Initial load
duke
parents:
diff changeset
   630
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
   631
90ce3da70b43 Initial load
duke
parents:
diff changeset
   632
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   633
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   634
90ce3da70b43 Initial load
duke
parents:
diff changeset
   635
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   636
If you split the inter\-dependent classes for a stock trade application into three jar files: \f2main.jar\fP, \f2buy.jar\fP, and \f2sell.jar\fP.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   637
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
   638
90ce3da70b43 Initial load
duke
parents:
diff changeset
   639
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   640
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
   641
90ce3da70b43 Initial load
duke
parents:
diff changeset
   642
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   643
If you specify the \f2Class\-path\fP attribute in the \f2main.jar\fP manifest as: 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   644
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   645
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   646
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   647
Class\-Path: buy.jar sell.jar
90ce3da70b43 Initial load
duke
parents:
diff changeset
   648
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   649
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   650
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   651
90ce3da70b43 Initial load
duke
parents:
diff changeset
   652
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   653
then you can use the \f2\-i\fP option to speed up the class loading time for your application: 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   654
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   655
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   656
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   657
% jar i main.jar
90ce3da70b43 Initial load
duke
parents:
diff changeset
   658
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   659
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   660
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   661
90ce3da70b43 Initial load
duke
parents:
diff changeset
   662
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   663
An \f2INDEX.LIST\fP file is inserted to the \f2META\-INF\fP directory. This enables the application class loader to download the specified jar files when it is searching for classes or resources.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   664
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   665
.SH "SEE ALSO"
90ce3da70b43 Initial load
duke
parents:
diff changeset
   666
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   667
90ce3da70b43 Initial load
duke
parents:
diff changeset
   668
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   669
.na
90ce3da70b43 Initial load
duke
parents:
diff changeset
   670
\f2The Jar Overview\fP @
90ce3da70b43 Initial load
duke
parents:
diff changeset
   671
.fi
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   672
http://java.sun.com/javase/6/docs/technotes/guides/jar/jarGuide.html
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   673
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
   674
90ce3da70b43 Initial load
duke
parents:
diff changeset
   675
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   676
.na
90ce3da70b43 Initial load
duke
parents:
diff changeset
   677
\f2The Jar File Specification\fP @
90ce3da70b43 Initial load
duke
parents:
diff changeset
   678
.fi
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   679
http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   680
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
   681
90ce3da70b43 Initial load
duke
parents:
diff changeset
   682
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   683
.na
90ce3da70b43 Initial load
duke
parents:
diff changeset
   684
\f2The JarIndex Spec\fP @
90ce3da70b43 Initial load
duke
parents:
diff changeset
   685
.fi
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   686
http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR%20Index
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   687
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
   688
90ce3da70b43 Initial load
duke
parents:
diff changeset
   689
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   690
.na
90ce3da70b43 Initial load
duke
parents:
diff changeset
   691
\f2Jar Tutorial\fP @
90ce3da70b43 Initial load
duke
parents:
diff changeset
   692
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   693
http://java.sun.com/docs/books/tutorial/jar on the Java Software web site.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   694
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
   695
90ce3da70b43 Initial load
duke
parents:
diff changeset
   696
.LP
5865
47da38a8c0f0 6955341: Oracle rebranding changes for man pages
bpatel
parents: 5506
diff changeset
   697
pack200(1)