# unpack200 - JAR Unpacking tool

- Synopsis
- Description
- Options
- Exit Status
- See Also
- Notes

## SYNOPSIS

> `unpack200 [ options ] input-file JAR-file`

> Options may be in any order. The last option on the command line supersedes all previously specified options.

> > `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.
> > `JAR-file`
> >   Name of the output JAR file.

## DESCRIPTION

> `unpack200` is a native implementation that transforms a packed file produced by `pack200`(1) into a JAR file. Typical usage:

> > `% unpack200 myarchive.pack.gz myarchive.jar`

> In this example, the `myarchive.jar` is produced from `myarchive.pack.gz` using the default `unpack200` settings.

## OPTIONS

### Standard Options

> `-Hvalue --deflate-hint=value`

> > Sets the deflation to be `true`, `false`, or `keep` on all entries within a JAR file. The default mode is `keep`. If `true` or `false`, overrides the default behavior and sets the deflation mode on all entries within the output JAR file.

### Non-Standard Options

> `-r --remove-pack-file`

> > Removes the input packed file.

> `-v --verbose`

> > Outputs minimal messages. Multiple specification of this option will output more verbose messages.

> `-q --quiet`

> > Specifies quiet operation with no messages.

> `-lfilename --log-file=filename`

> > Specifies a log file to output messages.

## EXIT STATUS

> The following exit values are returned:

> > `0` if successful completion;

> > `>0` if an error occurred.

## SEE ALSO

- pack200 - JAR Packing Tool
- `pack200(1)`, `jar(1)`, `jarsigner(1)`, `attributes(5)` man pages
- J2SE Documentation
- Java Deployment Guide - Pack200
- `jar` - Java Archive Tool
- `jarsigner` - JAR Signer tool

## NOTES

> This command should not be confused with `unpack(1)`. They are distinctly separate products.

> The J2SE API Specification provided with the SDK is the superseding authority, in case of discrepancies.