.'" t
." Copyright 2006 Sun Microsystems, Inc.  All Rights Reserved.
." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
."
." This code is free software; you can redistribute it and/or modify it
." under the terms of the GNU General Public License version 2 only, as
." published by the Free Software Foundation.
."
." This code is distributed in the hope that it will be useful, but WITHOUT
." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
." FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
." version 2 for more details (a copy is included in the LICENSE file that
." accompanied this code).
."
." You should have received a copy of the GNU General Public License version
." 2 along with this work; if not, write to the Free Software Foundation,
." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
."
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
." ` 
.TH unpack200 1 "05 Aug 2006"
." Generated by html2roff

.LP
.SH NAME
unpack200 \- JAR Unpacking tool
.LP
.SH "SYNOPSIS"
.LP

.LP
.LP
\f4unpack200\fP\f2 [ \fP\f2options\fP ] \f2input\-file\fP \f2JAR\-file\fP
.LP
.LP
Options may be in any order. The last option on the command line supersedes all previously specified options.
.LP
.RS 3

.LP
.TP 3
input\-file 
Name of the input file, which can be a pack200 gzip file or a pack200 file. The input could also be JAR file produced by pack200(1) with an effort of 0. In this case the contents of the input file will be copied to the output JAR file with the Pack200 marker. 
.TP 3
JAR\-file 
Name of the output JAR file. 
.LP
.RE
.SH "DESCRIPTION"
.LP

.LP
.LP
\f2unpack200\fP is a native implementation that transforms a packed file produced by \f2pack200\fP(1) into a JAR file. Typical usage:
.LP
.RS 3

.LP
.LP
\f2% unpack200 myarchive.pack.gz myarchive.jar\fP
.LP
.RE
.LP
In this example, the \f2myarchive.jar\fP is produced from \f2myarchive.pack.gz\fP using the default \f2unpack200\fP settings.
.LP
.SH "OPTIONS"
.LP
.SS 
Standard Options
.LP

.LP
.LP
\f4\-Hvalue \-\-deflate\-hint=\fP\f2value\fP
.LP
.RS 3

.LP
.LP
Sets the deflation to be \f2true\fP, \f2false\fP, or \f2keep\fP on all entries within a JAR file. The default mode is \f2keep\fP. If \f2true\fP or \f2false\fP, overrides the default behavior and sets the deflation mode on all entries within the output JAR file.
.LP
.RE
.SS 
Non\-Standard Options
.LP

.LP
.LP
\f4\-r \-\-remove\-pack\-file\fP
.LP
.RS 3

.LP
.LP
Removes the input packed file.
.LP
.RE
.LP
\f4\-v \-\-verbose\fP
.LP
.RS 3

.LP
.LP
Outputs minimal messages. Multiple specification of this option will output more verbose messages.
.LP
.RE
.LP
\f4\-q \-\-quiet\fP
.LP
.RS 3

.LP
.LP
Specifies quiet operation with no messages.
.LP
.RE
.LP
\f4\-lfilename \-\-log\-file=\fP\f2filename\fP
.LP
.RS 3

.LP
.LP
Specifies a log file to output messages.
.LP
.RE
.SH "EXIT STATUS"
.LP

.LP
.LP
The following exit values are returned:
.LP
.RS 3

.LP
.LP
\f2\ 0\fP if successful completion;
.LP
.LP
\f2>0\fP if an error occurred.
.LP
.RE
.SH "SEE ALSO"
.LP
.RS 3
.TP 2
*
pack200 \- JAR Packing Tool 
.TP 2
*
\f2pack200(1)\fP, \f2jar(1)\fP, \f2jarsigner(1)\fP, \f2attributes(5)\fP man pages 
.TP 2
*
Java SE Documentation 
.TP 2
*
.na
\f2Java Deployment Guide \- Pack200\fP @
.fi
http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment\-guide/pack200.html 
.TP 2
*
\f2jar\fP \- Java Archive Tool 
.TP 2
*
.na
\f2jarsigner\fP \- JAR Signer tool @
.fi
http://java.sun.com/javase/6/docs/technotes/tools/solaris/jarsigner.html 
.RE

.LP
.SH "NOTES"
.LP

.LP
.LP
This command should not be confused with \f2unpack(1)\fP. They are distinctly separate products.
.LP
.LP
The Java SE API Specification provided with the SDK is the superseding authority, in case of discrepancies.
.LP
 
