Package 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

  Modifier and Type
  Method
  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 Details

  - ### 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 signatures 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 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 signatures 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 signatures 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

  - ### 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 signatures 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