jdk.jlink/jdk.tools.jlink.internal.Main - "jlink" Command

Q

How to run "jlink" command from JDK lib\modules JImage file?

✍: FYIcenter

A

"jlink" command allows you to assemble a set of modules and their dependencies into a custom lib\modules JImage file.

"jlink" command is supported by the jmods\jdk.jlink.jmod module file, which is also linked into the lib\modules JImage file in JDK 9, 10, and 11.

You can run the "jlink" command 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 jdk.jlink/jdk.tools.jlink.internal.Main --help

Usage: jlink <options> --module-path <modulepath> --add-modules <module>[,<module>...]
Possible options include:
      --add-modules <mod>[,<mod>...]    Root modules to resolve
      --bind-services                   Link in service provider modules and
                                        their dependences
  -c, --compress=<0|1|2>                Enable compression of resources:
                                          Level 0: No compression
                                          Level 1: Constant string sharing
                                          Level 2: ZIP
      --disable-plugin <pluginname>     Disable the plugin mentioned
      --endian <little|big>             Byte order of generated jimage
                                        (default:native)
  -h, --help                            Print this help message
      --ignore-signing-information      Suppress a fatal error when signed
                                        modular JARs are linked in the image.
                                        The signature related files of the
                                        signed modular JARs are not copied to
                                        the runtime image.
      --launcher <name>=<module>[/<mainclass>]
                                        Add a launcher command of the given
                                        name for the module and the main class
                                        if specified
      --limit-modules <mod>[,<mod>...]  Limit the universe of observable
                                        modules
      --list-plugins                    List available plugins
  -p, --module-path <path>              Module path
      --no-header-files                 Exclude include header files
      --no-man-pages                    Exclude man pages
      --output <path>                   Location of output path
      --save-opts <filename>            Save jlink options in the given file
  -G, --strip-debug                     Strip debug information
      --suggest-providers [<name>,...]  Suggest providers that implement the
                                        given service types from the module path

  -v, --verbose                         Enable verbose tracing
      --version                         Version information
      @<filename>                       Read options from file

 

jdk.jlink/jdk.tools.jmod.Main - "jmod" Command

jdk.jlink/jdk.tools.jimage.Main - "jimage" Command

Tools Supported from JDK 9+ lib\modules JImage

⇑⇑ FAQ for JDK (Java Development Kit)

2018-11-09, 239👍, 0💬