:: RootR ::  Hosting Order Map Login   Secure Inter-Network Operations  
 
pack200(1) - phpMan

Command: man perldoc info search(apropos)  


pack200(1)                           General Commands Manual                           pack200(1)



Name
       pack200 - JAR Packing tool

SYNOPSIS
       pack200 [ options ] output-file JAR-file

       Options  may  be in any order. The last option on the command line or in a properties file
       supersedes all previously specified options.

          options
             Command-line options.

          output-file
             Name of the output file.

          JAR-file
             Name of the input file.


DESCRIPTION
       The pack200 tool is a Java application that  transforms  a  JAR  file  into  a  compressed
       pack200 file using the Java gzip compressor. The pack200 files are highly compressed files
       that can be directly deployed, saving bandwidth and reducing download time.

       The pack200 tool uses several options to fine-tune and set the compression engine.

   Typical usage:
       % pack200 myarchive.pack.gz myarchive.jar

       In this example, myarchive.pack.gz is produced using the default pack200 settings.

OPTIONS
       -r --repack

       Produces a JAR file by packing the file myarchive.jar and unpacking it. The resulting file
       can be used as an input to the jarsigner(1) tool.

       % pack200 --repack myarchive-packer.jar myarchive.jar

       % pack200 --repack myarchive.jar

       -g --no-gzip

       Produces a pack200 file. With this option a suitable compressor must be used, and the tar‐
       get system must use a corresponding decompresser.

       % pack200 --no-gzip myarchive.pack myarchive.jar

       -G --strip-debug

       Strips attributes used for debugging from the output. These include  SourceFile,  LineNum‐
       berTable, LocalVariableTable and LocalVariableTypeTable. Removing these attributes reduces
       the size of both downloads and installations but reduces the usefulness of debuggers.

       --keep-file-order

       Preserve the order of files in the input file; this is the default behavior.

       -O --no-keep-file-order

       The packer will reorder and transmit all elements. Additionally, the packer may remove JAR
       directory  names.  This will reduce the download size; however, certain JAR file optimiza‐
       tions, such as indexing, may not work correctly.

       -Svalue --segment-limit=value

       The value is the estimated target size N (in bytes) of each archive segment. If  a  single
       input file requires
       more than N bytes, it will be given its own archive segment. As a special case, a value of
       -1 will produce a single large segment with all input files, while a value of 0 will  pro‐
       duce  one segment for each class. Larger archive segments result in less fragmentation and
       better compression, but processing them requires more memory.

       The size of each segment is estimated by counting the size of each input file to be trans‐
       mitted in the segment, along with the size of its name and other transmitted properties.

       The default is -1, which means the packer will always create a single segment output file.
       In cases where extremely large output files are generated, users are  strongly  encouraged
       to use segmenting or break up the input file into smaller JARs.

       A 10MB JAR packed without this limit will typically pack about 10% smaller, but the packer
       may require a larger Java heap (about ten times the segment limit).

       -Evalue --effort=value

       If the value is set to a single decimal digit, the packer will use the indicated amount of
       effort  in  compressing  the  archive. Level 1 may produce somewhat larger size and faster
       compression speed, while level 9 will take much longer but may produce better compression.
       The  special  value  0 instructs the packer to copy through the original JAR file directly
       with no compression. The JSR 200 standard requires any unpacker to understand this special
       case as a pass-through of the entire archive.

       The default is 5, investing a modest amount of time to produce reasonable compression.

       -Hvalue --deflate-hint=value

       Overrides  the default, which preserves the input information, but may cause the transmit‐
       ted archive to be larger. The possible values are:

          true

          false
             In either case, the packer will set the deflation hint accordingly in the output ar‐
             chive, and will not transmit the individual deflation hints of archive elements.


          keep
             Preserve deflation hints observed in the input JAR. (This is the default.)


       -mvalue --modification-time=value

       The possible values are:

          latest
             The  packer  will  attempt  to determine the latest modification time, among all the
             available entries in the original archive, or the latest modification  time  of  all
             the available entries in that segment. This single value will be transmitted as part
             of the segment and applied to all the entries in each segment. This  can  marginally
             decrease the transmitted size of the archive at the expense of setting all installed
             files to a single date.

          keep
             Preserves modification times observed in the input JAR. (This is the default.)


       -Pfile --pass-file=file

       Indicates that a file should be passed through bytewise with no compression. By  repeating
       the  option,  multiple files may be specified. There is no pathname transformation, except
       that the system file separator is replaced by the JAR file separator  "/".  The  resulting
       file  names  must match exactly as strings with their occurrences in the JAR file. If file
       is a directory name, all files under that directory will be passed.

       -Uaction --unknown-attribute=action

       Overrides the default behavior; i.e., the classfile containing the unknown attribute  will
       be passed through with the specified action. The possible values for actions are:

          error
             The pack200 operation as a whole will fail with a suitable explanation.

          strip
             The  attribute  will be dropped. Note: Removing the required VM attributes may cause
             Class Loader failures.

          pass
             Upon encountering this attribute, the entire class will be transmitted as though  it
             is a resource.


       -Cattribute-name=layout --class-attribute=attribute-name=action
       -Fattribute-name=layout --field-attribute=attribute-name=action
       -Mattribute-name=layout --method-attribute=attribute-name=action
       -Dattribute-name=layout --code-attribute=attribute-name=action

       With  the  above  four  options, the attribute layout can be specified for a class entity,
       such as Class attribute, Field  attribute,  Method  attribute,  and  Code  attribute.  The
       attribute-name  is  the  name  of  the  attribute  for which the layout or action is being
       defined. The possible values for action are:

          some-layout-string
             The layout language is defined in the JSR 200 specification.

          Example: --class-attribute=SourceFile=RUH

          error
             Upon encountering this attribute, the pack200 operation will fail  with  a  suitable
             explanation.

          strip
             Upon  encountering  this  attribute,  the attribute will be removed from the output.
             Note: removing VM-required attributes may cause Class Loader failures.


       Example: --class-attribute=CompilationID=pass will cause the class  file  containing  this
       attribute to be passed through without further action by the packer.

       -f pack.properties --config-file=pack.properties

       A  configuration  file, containing Java properties to initialize the packer, may be speci‐
       fied on the command line.

       % pack200 -f pack.properties myarchive.pack.gz myarchive.jar
       % more pack.properties
       # Generic properties for the packer.
       modification.time=latest
       deflate.hint=false
       keep.file.order=false
       # This option will cause the files bearing new attributes to
       # be reported as an error rather than passed uncompressed.
       unknown.attribute=error
       # Change the segment limit to be unlimited.
       segment.limit=-1

       -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.

       -? -h --help

       Prints help information about this command.

       -V --version

       Prints version information about this command.

       -Joption

       Passes  option  to  the  Java  launcher called by pack200. For example, -J-Xms48m sets the
       startup memory to 48 megabytes. Although it does not begin with -X, it is not  a  standard
       option  of  pack200. It is a common convention for -J to pass options to the underlying VM
       executing applications written in Java.

EXIT STATUS
       The following exit values are returned:

        0 for successful completion;

       >0 if an error occurs.

SEE ALSO
          o unpack200(1)

          o Java SE Documentation @
            http://docs.oracle.com/javase/7/docs/index.html

          o Java Deployment Guide - Pack200 @
            http://docs.oracle.com/javase/7/docs/technotes/guides/deployment/deploy‐
            ment-guide/pack200.html

          o jar(1) - Java Archive Tool

          o jarsigner(1) - JAR Signer tool

          o attributes(5) man page


NOTES
       This command should not be confused with pack(1). They are distinctly separate products.

       The Java SE API Specification provided with the JDK is the superseding authority, in case
       of discrepancies.

                                           16 Mar 2012                                 pack200(1)


/man
rootr.net - man pages