# Pack200Utils (Apache Commons Compress 1.13 API)

org.apache.commons.compress.compressors.pack200

## Class Pack200Utils

- java.lang.Object
- - org.apache.commons.compress.compressors.pack200.Pack200Utils

-     public class Pack200Utils
      extends Object

  Utility methods for Pack200.
  Since:
    1.3
  This class is thread-safe

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static void` | `normalize(File jar)` Normalizes a JAR archive in-place so it can be safely signed and packed.
    `static void` | `normalize(File from, File to)` Normalizes a JAR archive so it can be safely signed and packed.
    `static void` | `normalize(File from, File to, Map<String,String> props)` Normalizes a JAR archive so it can be safely signed and packed.
    `static void` | `normalize(File jar, Map<String,String> props)` Normalizes a JAR archive in-place so it can be safely signed and packed.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### normalize

          public static void normalize(File jar)
                                throws IOException

      Normalizes a JAR archive in-place so it can be safely signed and packed.

      As stated in Pack200.Packer's javadocs applying a Pack200 compression to a JAR archive will in general make its sigantures invalid. In order to prepare a JAR for signing it should be "normalized" by packing and unpacking it. This is what this method does.

      Note this methods implicitly sets the segment length to -1.

      Parameters:
        `jar` - the JAR archive to normalize
      Throws:
        `IOException` - if reading or writing fails

    - #### normalize

          public static void normalize(File jar,
                       Map<String,String> props)
                                throws IOException

      Normalizes a JAR archive in-place so it can be safely signed and packed.

      As stated in Pack200.Packer's javadocs applying a Pack200 compression to a JAR archive will in general make its sigantures invalid. In order to prepare a JAR for signing it should be "normalized" by packing and unpacking it. This is what this method does.

      Parameters:
        `jar` - the JAR archive to normalize
        `props` - properties to set for the pack operation. This method will implicitly set the segment limit to -1.
      Throws:
        `IOException` - if reading or writing fails

    - #### normalize

          public static void normalize(File from,
                       File to)
                                throws IOException

      Normalizes a JAR archive so it can be safely signed and packed.

      As stated in Pack200.Packer's javadocs applying a Pack200 compression to a JAR archive will in general make its sigantures invalid. In order to prepare a JAR for signing it should be "normalized" by packing and unpacking it. This is what this method does.

      This method does not replace the existing archive but creates a new one.

      Note this methods implicitly sets the segment length to -1.

      Parameters:
        `from` - the JAR archive to normalize
        `to` - the normalized archive
      Throws:
        `IOException` - if reading or writing fails

    - #### normalize

          public static void normalize(File from,
                       File to,
                       Map<String,String> props)
                                throws IOException

      Normalizes a JAR archive so it can be safely signed and packed.

      As stated in Pack200.Packer's javadocs applying a Pack200 compression to a JAR archive will in general make its sigantures invalid. In order to prepare a JAR for signing it should be "normalized" by packing and unpacking it. This is what this method does.

      This method does not replace the existing archive but creates a new one.

      Parameters:
        `from` - the JAR archive to normalize
        `to` - the normalized archive
        `props` - properties to set for the pack operation. This method will implicitly set the segment limit to -1.
      Throws:
        `IOException` - if reading or writing fails

Copyright © 2016 The Apache Software Foundation. All rights reserved.