jlink:jlink
全名:
org.apache.maven.plugins:maven-jlink-plugin:3.1.0:jlink
说明:
JLink 目标旨在创建基于https://openjdk.java.net/jeps/282、
https://openjdk.java.net/jeps/220的 Java 运行时映像文件。
属性:
- 需要执行一个 Maven 项目。
- 需要范围内工件的依赖关系解析:
runtime
. - 默认绑定到生命周期阶段:
package
.
可选参数
姓名 | 类型 | 自从 | 描述 |
---|---|---|---|
<addModules> |
List |
- |
通常这不是必需的,因为这是由给定的依赖项自动处理的。 通过使用 --add-modules 您可以定义要解析的根模块。文件中的配置 <addModules> <addModule>mod1</addModule> <addModule>first</addModule> . . </addModules> --add-modules
<mod>[,<mod>...] . |
<addOptions> |
List |
- |
这些 JVM 参数将附加到
lib/modules 文件中。此参数至少需要 JDK 14。 等效的命令行是: 例子: <addOptions> <addOption>-Xmx256m</addOption> <addOption>--enable-preview</addOption> <addOption>-Dvar=value</addOption> </addOptions> 上面的示例将导致 |
<bindServices> |
boolean |
- |
--bind-services 添加或不添加选项。默认值为: false 。 |
<classifier> |
String |
- |
添加到生成的工件的分类器。如果给出,该工件将作为补充工件附加。如果没有给出,这将创建作为默认行为的主要工件。如果您在不使用分类器的情况下再次尝试这样做,则构建将失败。 |
<compress> |
Integer |
- |
您可以在此处定义正在使用的资源的压缩。等效的命令行是:-c,
--compress=level> . 该级别的有效值为:
0, 1, 2 。 |
<disablePlugin> |
String |
- |
您可以使用此选项禁用插件。
--disable-plugin pluginName . |
<endian> |
String |
- |
生成的 Java 运行时映像的字节顺序。--endian
<little|big> . 如果未给出字节序,则默认值为:native . |
<ignoreSigningInformation> |
boolean |
- |
--ignore-signing-information 默认值为: false 。 |
<includeLocales> |
List |
- |
包括 langtag 是 BCP 47 语言标签的语言环境列表。
此选项支持 RFC 4647 中定义的区域匹配。确保在使用此选项时添加模块 jdk.localedata。 等效的命令行是:
<includeLocales> <includeLocale>en</includeLocale> <includeLocale>ja</includeLocale> <includeLocale>*-IN</includeLocale> . . </includeLocales> |
<jdkToolchain> |
Map |
- |
指定此 jdk 工具链的要求。这会否决 maven-toolchain-plugin 选择的工具链。 注意:至少需要 Maven 3.3.1 |
<launcher> |
String |
- |
插件是否应该通过 jlink 生成启动器脚本?等效的命令行是:--launcher
<name>=<module>[/<mainclass>] . 该级别的有效值为:
<name>=<module>[/<mainclass>] 。 |
<limitModules> |
List |
- |
限制可观察模块的范围。下面给出了可以在
pom.xml 文件中使用的配置示例。
<limitModules> <limitModule>mod1</limitModule> <limitModule>xyz</limitModule> . . </limitModules> --limit-modules <mod>[,<mod>...] |
<modulePaths> |
List |
- |
--module-path 在选项中包含其他路径。项目依赖项和 JDK 模块会自动添加。 |
<noHeaderFiles> |
boolean |
- |
这将禁止includes 在生成的 Java 运行时映像中有一个目录。JLink 命令行等效项是:--no-header-files 默认值为: false 。 |
<noManPages> |
boolean |
- |
这将禁止man 在生成的 Java 运行时映像中拥有该目录。JLink 命令行等效项是:--no-man-pages 默认值为: false 。 |
<pluginModulePath> |
String |
- |
定义要使用的插件模块路径。可以定义多个条目,由; 或
分隔: 。jlink 命令行等效项是:
--plugin-module-path <modulepath> |
<sourceJdkModules> |
File |
- |
设置 JDK 位置以创建 Java 自定义运行时映像。 |
<stripDebug> |
boolean |
- |
这是为了去除调试信息。命令行等效于jlink :-G, --strip-debug
strip debug information。默认值为: false 。 |
<suggestProviders> |
List |
- |
建议从模块路径实现给定服务类型的提供者。
<suggestProviders> <suggestProvider>name-a</suggestProvider> <suggestProvider>name-b</suggestProvider> . . </suggestProviders> --suggest-providers
[<name>,...] |
<verbose> |
boolean |
- |
这将打开详细模式。jlink 命令行等效项为:--verbose 默认值为: false 。 |
参数详情
<添加模块>
通常这不是必需的,因为这是由给定的依赖项自动处理的。
通过使用 --add-modules 您可以定义要解析的根模块。文件中的配置pom.xml
可能如下所示:
<addModules> <addModule>mod1</addModule> <addModule>first</addModule> . . </addModules>
--add-modules
<mod>[,<mod>...]
.- 类型:
java.util.List
- 必需:
No
<添加选项>
这些 JVM 参数将附加到
此参数至少需要 JDK 14。
lib/modules
文件中。此参数至少需要 JDK 14。
等效的命令行是:jlink
--add-options="..."
.
例子:
<addOptions> <addOption>-Xmx256m</addOption> <addOption>--enable-preview</addOption> <addOption>-Dvar=value</addOption> </addOptions>
上面的示例将导致jlink
--add-options="-Xmx256m" --enable-preview -Dvar=value"
.
- 类型:
java.util.List
- 必需:
No
<绑定服务>
--bind-services
添加或不添加选项。- 类型:
boolean
- 必需:
No
- 默认:
false
<分类器>
添加到生成的工件的分类器。如果给出,该工件将作为补充工件附加。如果没有给出,这将创建作为默认行为的主要工件。如果您在不使用分类器的情况下再次尝试这样做,则构建将失败。
- 类型:
java.lang.String
- 必需:
No
<压缩>
您可以在此处定义正在使用的资源的压缩。等效的命令行是:
-c,
--compress=level>
. 该级别的有效值为:
0, 1, 2
。- 类型:
java.lang.Integer
- 必需:
No
<禁用插件>
您可以使用此选项禁用插件。
--disable-plugin pluginName
.- 类型:
java.lang.String
- 必需:
No
<字节序>
生成的 Java 运行时映像的字节顺序。
--endian
<little|big>
. 如果未给出字节序,则默认值为:native
.- 类型:
java.lang.String
- 必需:
No
<忽略签名信息>
--ignore-signing-information
- 类型:
boolean
- 必需:
No
- 默认:
false
<包括区域设置>
包括 langtag 是 BCP 47 语言标签的语言环境列表。
此选项支持 RFC 4647 中定义的区域匹配。确保在使用此选项时添加模块 jdk.localedata。
等效的命令行是:
--include-locales=en,ja,*-IN
.
<includeLocales> <includeLocale>en</includeLocale> <includeLocale>ja</includeLocale> <includeLocale>*-IN</includeLocale> . . </includeLocales>
- 类型:
java.util.List
- 必需:
No
<jdk工具链>
指定此 jdk 工具链的要求。这会否决 maven-toolchain-plugin 选择的工具链。
注意:至少需要 Maven 3.3.1- 类型:
java.util.Map
- 必需:
No
<启动器>
插件是否应该通过 jlink 生成启动器脚本?等效的命令行是:
--launcher
<name>=<module>[/<mainclass>]
. 该级别的有效值为:
<name>=<module>[/<mainclass>]
。- 类型:
java.lang.String
- 必需:
No
<limitModules>
限制可观察模块的范围。下面给出了可以在
此配置等效于命令行选项:
pom.xml
文件中使用的配置示例。
<limitModules> <limitModule>mod1</limitModule> <limitModule>xyz</limitModule> . . </limitModules>
--limit-modules <mod>[,<mod>...]
- 类型:
java.util.List
- 必需:
No
<模块路径>
--module-path
在选项中包含其他路径。项目依赖项和 JDK 模块会自动添加。- 类型:
java.util.List
- 必需:
No
<noHeaderFiles>
这将禁止
includes
在生成的 Java 运行时映像中有一个目录。JLink 命令行等效项是:--no-header-files
- 类型:
boolean
- 必需:
No
- 默认:
false
<noManPages>
这将禁止
man
在生成的 Java 运行时映像中拥有该目录。JLink 命令行等效项是:--no-man-pages
- 类型:
boolean
- 必需:
No
- 默认:
false
<插件模块路径>
定义要使用的插件模块路径。可以定义多个条目,由
;
或
分隔:
。jlink 命令行等效项是:
--plugin-module-path <modulepath>
- 类型:
java.lang.String
- 必需:
No
<sourceJdkModules>
设置 JDK 位置以创建 Java 自定义运行时映像。
- 类型:
java.io.File
- 必需:
No
<带调试>
这是为了去除调试信息。命令行等效于
jlink
:-G, --strip-debug
strip debug information。- 类型:
boolean
- 必需:
No
- 默认:
false
<建议提供者>
建议从模块路径实现给定服务类型的提供者。
jlink 命令 linke 等效:
<suggestProviders> <suggestProvider>name-a</suggestProvider> <suggestProvider>name-b</suggestProvider> . . </suggestProviders>
--suggest-providers
[<name>,...]
- 类型:
java.util.List
- 必需:
No
<详细>
这将打开详细模式。jlink 命令行等效项是:
--verbose
- 类型:
boolean
- 必需:
No
- 默认:
false