jmod:创建

全名

org.apache.maven.plugins:maven-jmod-plugin:3.0.0-alpha-1:create

说明

create目标旨在创建 可用于以后通过maven-jlink-plugin链接的jmod文件。jmod文件不能用作类路径上的通常依赖项,仅与 maven-jlink-plugin相关

属性

  • 需要执行一个 Maven 项目。
  • 需要范围内工件的依赖解析:compile
  • 默认绑定到生命周期阶段

可选参数

姓名 类型 自从 描述
命令 列表 - 指定一个或多个包含要复制的本机命令的目录。给定的目录相对于当前的基本目录。如果没有定义条目,则默认 使用src/main/cmds
<cmds>
  <cmd>...</cmd>
  <cmd>...</cmd>
  .
  .
</cmds>

这些目录中的所有文件都将被复制到jmod 文件中的结果目录bin中。

JMod命令行等效项:--cmds <path>
配置 列表 - 指定一个或多个包含要复制的配置文件的目录。用户可编辑配置文件的位置。如果没有给出配置,则默认使用src/main/configs位置。如果此目录不存在,则整个目录将被忽略。
<configs>
  <config>...</config>
  <config>...</config>
  .
  .
</configs>

这些目录中的所有文件都将被复制到jmod 文件中的结果目录配置中。

jmod 命令行等效项:--config <path>
doNotResolveByDefault 布尔值 - --do-not-resolve-by-default从模块的默认根集中排除
默认值为false
排除 列表 - 排除匹配模式列表的文件。每个元素使用以下形式之一:<glob-pattern>、glob:<glob-pattern> 或 regex:<regex-pattern>
<excludes>
  <exclude>...</exclude>
  <exclude>...</exclude>
  .
  .
</excludes>

头文件 列表 - 定义头文件的位置。默认位置是 src/main/headerfiles。如果当前项目中不存在默认位置,它将被忽略。给定的目录是相对于项目基目录的。如果定义了条目,则需要定义所有位置。
<headerFiles>
  <headerFile>...</headerFile>
  <headerFile>...</headerFile>
  .
  .
</headerFiles>

这些目录中的所有文件都将被复制到生成的目录中,包括在 jmod 文件中。

jmod 命令行等效项 --header-files <路径>
jdk工具链 地图 -

指定此 jdk 工具链的要求。这会否决 maven-toolchain-plugin 选择的工具链。

注意:至少需要 Maven 3.3.1
法律声明 列表 - 定义法律声明的位置。默认位置是 src/main/legalnotices。给定的手册页位置是相对于项目基目录的。
<legalNotices>
  <legalNotice>...</legalNotice>
  <legalNotice>...</legalNotice>
  .
  .
</legalNotices>

这些目录中的所有文件都将被复制到jmod 文件中合法的生成目录中。

jmod 命令行等效项 --legal-notices <路径>
列表 - 指定一个或多个包含要复制的本机库的目录(给定目录相对于项目基目录)。如果在 <<pom.xml>> 文件中没有给出配置,则将使用位置src/main/libs。如果默认位置不存在,则整个配置将被忽略。
<libs>
  <lib>...</lib>
  <lib>...</lib>
  .
  .
</libs>

这些目录中的所有文件都将被复制到jmod 文件中的结果目录lib中。


主类 细绳 - 定义记录在 module-info.class文件中的主类。
手册页 列表 - 定义手册页的位置。默认位置是 src/main/manpages。给定的手册页位置是相对于项目基目录的。
<manPages>
  <manPage>...</manPage>
  <manPage>...</manPage>
  .
  .
</manPages>

这些目录中的所有文件都将被复制到jmod 文件中的结果目录man中。

jmod 命令行等效项 --man-pages <路径>
模块版本 细绳 - 定义 jmod 文件的模块版本。
默认值为${project.version}
目标平台 细绳 - --target-platform <target-platform>目标平台 TODO:哪些值是有效的?
警告如果已解决 细绳 - 如果模块已解决,提示工具发出警告。有效值为:
  • 已弃用
  • 不推荐移除
  • 孵化

参数详情

命令

指定一个或多个包含要复制的本机命令的目录。给定的目录相对于当前的基本目录。如果没有定义条目,则默认 使用src/main/cmds
<cmds>
  <cmd>...</cmd>
  <cmd>...</cmd>
  .
  .
</cmds>

这些目录中的所有文件都将被复制到jmod 文件中的结果目录bin中。

JMod命令行等效项:--cmds <path>
  • 类型java.util.List
  • 要求

配置

指定一个或多个包含要复制的配置文件的目录。用户可编辑配置文件的位置。如果没有给出配置,则默认使用src/main/configs位置。如果此目录不存在,则整个目录将被忽略。
<configs>
  <config>...</config>
  <config>...</config>
  .
  .
</configs>

这些目录中的所有文件都将被复制到jmod 文件中的结果目录配置中。

jmod 命令行等效项:--config <path>
  • 类型java.util.List
  • 要求

doNotResolveByDefault

--do-not-resolve-by-default从默认根模块集中排除
  • 类型布尔值
  • 要求
  • 默认值

不包括

排除匹配模式列表的文件。每个元素使用以下形式之一:<glob-pattern>、glob:<glob-pattern> 或 regex:<regex-pattern>
<excludes>
  <exclude>...</exclude>
  <exclude>...</exclude>
  .
  .
</excludes>
  • 类型java.util.List
  • 要求

头文件

定义头文件的位置。默认位置是 src/main/headerfiles。如果当前项目中不存在默认位置,它将被忽略。给定的目录是相对于项目基目录的。如果定义了条目,则需要定义所有位置。
<headerFiles>
  <headerFile>...</headerFile>
  <headerFile>...</headerFile>
  .
  .
</headerFiles>

这些目录中的所有文件都将被复制到生成的目录中,包括在 jmod 文件中。

jmod 命令行等效项 --header-files <路径>
  • 类型java.util.List
  • 要求

jdk工具链

指定此 jdk 工具链的要求。这会否决 maven-toolchain-plugin 选择的工具链。

注意:至少需要 Maven 3.3.1
  • 类型java.util.Map
  • 要求

法律声明

定义法律声明的位置。默认位置是 src/main/legalnotices。给定的手册页位置是相对于项目基目录的。
<legalNotices>
  <legalNotice>...</legalNotice>
  <legalNotice>...</legalNotice>
  .
  .
</legalNotices>

这些目录中的所有文件都将被复制到jmod 文件中合法的生成目录中。

jmod 命令行等效项 --legal-notices <路径>
  • 类型java.util.List
  • 要求

指定一个或多个包含要复制的本机库的目录(给定目录相对于项目基目录)。如果在 <<pom.xml>> 文件中没有给出配置,则将使用位置src/main/libs。如果默认位置不存在,则整个配置将被忽略。
<libs>
  <lib>...</lib>
  <lib>...</lib>
  .
  .
</libs>

这些目录中的所有文件都将被复制到jmod 文件中的结果目录lib中。

  • 类型java.util.List
  • 要求

主类

定义记录在 module-info.class文件中的主类。
  • 类型java.lang.String
  • 要求

手册页

定义手册页的位置。默认位置是 src/main/manpages。给定的手册页位置是相对于项目基目录的。
<manPages>
  <manPage>...</manPage>
  <manPage>...</manPage>
  .
  .
</manPages>

这些目录中的所有文件都将被复制到jmod 文件中的结果目录man中。

jmod 命令行等效项 --man-pages <路径>
  • 类型java.util.List
  • 要求

模块版本

定义 jmod 文件的模块版本。
  • 类型java.lang.String
  • 要求
  • 默认值${project.version}

目标平台

--target-platform <target-platform>目标平台 TODO:哪些值是有效的?
  • 类型java.lang.String
  • 要求

警告如果已解决

如果模块已解决,提示工具发出警告。有效值为:
  • 已弃用
  • 不推荐移除
  • 孵化
  • 类型java.lang.String
  • 要求