jlink (Apache Ant API)
Date: 2018-07-10

org.apache.tools.ant.taskdefs.optional.jlink

## Class jlink

- java.lang.Object
- - org.apache.tools.ant.taskdefs.optional.jlink.jlink

-     public class jlink
      extends java.lang.Object

  jlink links together multiple .jar files.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `jlink()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addAddFile(java.lang.String fileToAdd)` Adds a file to be added into the output.
    `void` | `addAddFiles(java.lang.String... filesToAdd)` Adds several files to be added into the output.
    `void` | `addMergeFile(java.lang.String fileToMerge)` Adds a file to be merged into the output.
    `void` | `addMergeFiles(java.lang.String... filesToMerge)` Adds several files to be merged into the output.
    `void` | `link()` Performs the linking of files.
    `static void` | `main(java.lang.String[] args)` The command line entry point for jlink.
    `void` | `setCompression(boolean compress)` Determines whether output will be compressed.
    `void` | `setOutfile(java.lang.String outfile)` The file that will be created by this instance of jlink.

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

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

- - ### Constructor Detail

    - #### jlink

          public jlink()

  - ### Method Detail

    - #### setOutfile

          public void setOutfile(java.lang.String outfile)

      The file that will be created by this instance of jlink.
      Parameters:
        `outfile` - the file to create.

    - #### addMergeFile

          public void addMergeFile(java.lang.String fileToMerge)

      Adds a file to be merged into the output.
      Parameters:
        `fileToMerge` - the file to merge into the output.

    - #### addAddFile

          public void addAddFile(java.lang.String fileToAdd)

      Adds a file to be added into the output.
      Parameters:
        `fileToAdd` - the file to add to the output.

    - #### addMergeFiles

          public void addMergeFiles(java.lang.String... filesToMerge)

      Adds several files to be merged into the output.
      Parameters:
        `filesToMerge` - an array of files to merge into the output.

    - #### addAddFiles

          public void addAddFiles(java.lang.String... filesToAdd)

      Adds several files to be added into the output.
      Parameters:
        `filesToAdd` - an array of files to add to the output.

    - #### setCompression

          public void setCompression(boolean compress)

      Determines whether output will be compressed.
      Parameters:
        `compress` - if true use compression.

    - #### link

          public void link()
                    throws java.lang.Exception

      Performs the linking of files. Addfiles are added to the output as-is. For example, a jar file is added to the output as a jar file. However, mergefiles are first examined for their type. If it is a jar or zip file, the contents will be extracted from the mergefile and entered into the output. If a zip or jar file is encountered in a subdirectory it will be added, not merged. If a directory is encountered, it becomes the root entry of all the files below it. Thus, you can provide multiple, disjoint directories, as addfiles: they will all be added in a rational manner to outfile.
      Throws:
        `java.lang.Exception` - on error.

    - #### main

          public static void main(java.lang.String[] args)

      The command line entry point for jlink.
      Parameters:
        `args` - an array of arguments