java.base/com.sun.java.util.jar.pack.Driver - Pack200 Tool

Q

How to run "java.base/com.sun.java.util.jar.pack.Driver" tool from JDK lib\modules JImage file?

✍: FYIcenter

A

"java.base/com.sun.java.util.jar.pack.Driver" tool allows you to run Pack200 (also known as JSR 200 specification) algorithm to archive Java files similar JAR file format.

"java.base/com.sun.java.util.jar.pack.Driver" tool is supported by the jmods\jdk.base.jmod module file, which is also linked into the lib\modules JImage file in JDK 9, 10, and 11.

"java.base/com.sun.java.util.jar.pack.Driver" tool using the lib\modules JImage file as described below using JDK 11 as an example:

C:\fyicenter>set JDK_HOME=\fyicenter\jdk-11.0.1

C:\fyicenter>%JDK_HOME%\bin\java --module java.base/com.sun.java.util.jar.pack.Driver

Warning: The pack200 tool is deprecated, and is planned for removal in a future JDK release.

Usage:  pack200 [-opt... | --option=value]... x.pack[.gz] y.jar

Packing Options
  -r, --repack                    repack or normalize a jar, suitable for
                                  signing with jarsigner
  -g, --no-gzip                   output a plain pack file, suitable to be
                                  compressed with a file compression utility
  --gzip                          (default) post compress the pack output
                                  with gzip
  -G, --strip-debug               remove debugging attributes (SourceFile,
                                  LineNumberTable, LocalVariableTable
                                  and LocalVariableTypeTable) while packing
  -O, --no-keep-file-order        do not transmit file ordering information
  --keep-file-order               (default) preserve input file ordering
  -S{N}, --segment-limit={N}      limit segment sizes (default unlimited)
  -E{N}, --effort={N}             packing effort (default N=5)
  -H{h}, --deflate-hint={h}       transmit deflate hint: true, false,
                                  or keep (default)
  -m{V}, --modification-time={V}  transmit modtimes: latest or keep (default)
  -P{F}, --pass-file={F}          transmit the given input element(s) unchanged
  -U{a}, --unknown-attribute={a}  unknown attribute action: error, strip,
                                  or pass (default)
  -C{N}={L}, --class-attribute={N}={L}  (user-defined attribute)
  -F{N}={L}, --field-attribute={N}={L}  (user-defined attribute)
  -M{N}={L}, --method-attribute={N}={L} (user-defined attribute)
  -D{N}={L}, --code-attribute={N}={L}   (user-defined attribute)
  -f{F}, --config-file={F}        read file F for Pack200.Packer properties
  -v, --verbose                   increase program verbosity
  -q, --quiet                     set verbosity to lowest level
  -l{F}, --log-file={F}           output to the given log file,
                                  or '-' for System.out
  -?, -h, --help                  print this help message
  -V, --version                   print program version
  -J{X}                           pass option X to underlying Java VM

Notes:
  The -P, -C, -F, -M, and -D options accumulate.
  Example attribute definition:  -C SourceFile=RUH .
  Config. file properties are defined by the Pack200 API.
  For meaning of -S, -E, -H-, -m, -U values, see Pack200 API.
  Layout definitions (like RUH) are defined by JSR 200.

Repacking mode updates the JAR file with a pack/unpack cycle:
    pack200 [-r|--repack] [-opt | --option=value]... [repackedy.jar] y.jar


Exit Status:
  0 if successful, >0 if an error occurred

Warning: The pack200 tool is deprecated, and is planned for removal in a future JDK release.

 

java.base/java.util.regex.PrintPattern - Regex Pattern Parser

Tools Supported from JDK 9+ lib\modules JImage

Tools Supported from JDK 9+ lib\modules JImage

⇑⇑ FAQ for JDK (Java Development Kit)

2019-10-18, 278👍, 0💬