jmod:create

Full name:

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

Description:

The create goal is intended to create jmod files which can be used for later linking via maven-jlink-plugin. The jmod files can not be used as usual dependencies on the classpath only in relationship with maven-jlink-plugin.

Attributes:

  • Requires a Maven project to be executed.
  • Requires dependency resolution of artifacts in scope: compile.
  • Binds by default to the lifecycle phase: package.

Optional Parameters

Name Type Since Description
cmds List - Specifies one or more directories containing native commands to be copied. The given directories are relative to the current base directory. If no entry is defined the default is src/main/cmds used.
<cmds>
  <cmd>...</cmd>
  <cmd>...</cmd>
  .
  .
</cmds>

All files from those directories will be copied into the resulting directory bin within the jmod file.

JMod command line equivalent: --cmds <path>.
configs List - Specifies one or more directories containing configuration files to be copied. Location of user-editable config files. If no configuration is given the src/main/configs location is used as default. If this directory does not exist the whole will be ignored.
<configs>
  <config>...</config>
  <config>...</config>
  .
  .
</configs>

All files from those directories will be copied into the resulting directory config within the jmod file.

jmod command line equivalent: --config <path>.
doNotResolveByDefault boolean - --do-not-resolve-by-default Exclude from the default root set of modules
Default value is: false.
excludes List - Exclude files matching the pattern list. Each element using one the following forms: <glob-pattern>, glob:<glob-pattern> or regex:<regex-pattern>
<excludes>
  <exclude>...</exclude>
  <exclude>...</exclude>
  .
  .
</excludes>

headerFiles List - Define the locations of header files. The default location is src/main/headerfiles. If the the default location does not exist in the current project it will be ignored. The given directories are relative to the project base directory. If an entry is defined the definition of all locations is needed.
<headerFiles>
  <headerFile>...</headerFile>
  <headerFile>...</headerFile>
  .
  .
</headerFiles>

All files from those directories will be copied into the resulting directory includes within the jmod file.

jmod command line equivalent --header-files <path>
jdkToolchain Map -

Specify the requirements for this jdk toolchain. This overrules the toolchain selected by the maven-toolchain-plugin.

note: requires at least Maven 3.3.1
legalNotices List - Define the location of legal notices. The default location is src/main/legalnotices. The given man pages locations are relative to the project base directory.
<legalNotices>
  <legalNotice>...</legalNotice>
  <legalNotice>...</legalNotice>
  .
  .
</legalNotices>

All files from those directories will be copied into the resulting directory legal within the jmod file.

jmod command line equivalent --legal-notices <path>
libs List - Specifies one or more directories containing native libraries to be copied (The given directories are relative to project base directory). If no configuration is given in <<pom.xml>> file the location src/main/libs will be used. If the default location does not exist the whole configuration will be ignored.
<libs>
  <lib>...</lib>
  <lib>...</lib>
  .
  .
</libs>

All files from those directories will be copied into the resulting directory lib within the jmod file.


mainClass String - Define the main class which is recorded in the module-info.class file.
manPages List - Define the locations of man pages. The default location is src/main/manpages. The given man pages locations are relative to the project base directory.
<manPages>
  <manPage>...</manPage>
  <manPage>...</manPage>
  .
  .
</manPages>

All files from those directories will be copied into the resulting directory man within the jmod file.

jmod command line equivalent --man-pages <path>
moduleVersion String - Define the module version of the jmod file.
Default value is: ${project.version}.
targetPlatform String - --target-platform <target-platform> Target platform TODO: Which values are valid?
warnIfResolved String - Hint for a tool to issue a warning if the module is resolved. The valid values are:
  • deprecated
  • deprecated-for-removal
  • incubating

Parameter Details

cmds:

Specifies one or more directories containing native commands to be copied. The given directories are relative to the current base directory. If no entry is defined the default is src/main/cmds used.
<cmds>
  <cmd>...</cmd>
  <cmd>...</cmd>
  .
  .
</cmds>

All files from those directories will be copied into the resulting directory bin within the jmod file.

JMod command line equivalent: --cmds <path>.
  • Type: java.util.List
  • Required: No

configs:

Specifies one or more directories containing configuration files to be copied. Location of user-editable config files. If no configuration is given the src/main/configs location is used as default. If this directory does not exist the whole will be ignored.
<configs>
  <config>...</config>
  <config>...</config>
  .
  .
</configs>

All files from those directories will be copied into the resulting directory config within the jmod file.

jmod command line equivalent: --config <path>.
  • Type: java.util.List
  • Required: No

doNotResolveByDefault:

--do-not-resolve-by-default Exclude from the default root set of modules
  • Type: boolean
  • Required: No
  • Default: false

excludes:

Exclude files matching the pattern list. Each element using one the following forms: <glob-pattern>, glob:<glob-pattern> or regex:<regex-pattern>
<excludes>
  <exclude>...</exclude>
  <exclude>...</exclude>
  .
  .
</excludes>
  • Type: java.util.List
  • Required: No

headerFiles:

Define the locations of header files. The default location is src/main/headerfiles. If the the default location does not exist in the current project it will be ignored. The given directories are relative to the project base directory. If an entry is defined the definition of all locations is needed.
<headerFiles>
  <headerFile>...</headerFile>
  <headerFile>...</headerFile>
  .
  .
</headerFiles>

All files from those directories will be copied into the resulting directory includes within the jmod file.

jmod command line equivalent --header-files <path>
  • Type: java.util.List
  • Required: No

jdkToolchain:

Specify the requirements for this jdk toolchain. This overrules the toolchain selected by the maven-toolchain-plugin.

note: requires at least Maven 3.3.1
  • Type: java.util.Map
  • Required: No

legalNotices:

Define the location of legal notices. The default location is src/main/legalnotices. The given man pages locations are relative to the project base directory.
<legalNotices>
  <legalNotice>...</legalNotice>
  <legalNotice>...</legalNotice>
  .
  .
</legalNotices>

All files from those directories will be copied into the resulting directory legal within the jmod file.

jmod command line equivalent --legal-notices <path>
  • Type: java.util.List
  • Required: No

libs:

Specifies one or more directories containing native libraries to be copied (The given directories are relative to project base directory). If no configuration is given in <<pom.xml>> file the location src/main/libs will be used. If the default location does not exist the whole configuration will be ignored.
<libs>
  <lib>...</lib>
  <lib>...</lib>
  .
  .
</libs>

All files from those directories will be copied into the resulting directory lib within the jmod file.

  • Type: java.util.List
  • Required: No

mainClass:

Define the main class which is recorded in the module-info.class file.
  • Type: java.lang.String
  • Required: No

manPages:

Define the locations of man pages. The default location is src/main/manpages. The given man pages locations are relative to the project base directory.
<manPages>
  <manPage>...</manPage>
  <manPage>...</manPage>
  .
  .
</manPages>

All files from those directories will be copied into the resulting directory man within the jmod file.

jmod command line equivalent --man-pages <path>
  • Type: java.util.List
  • Required: No

moduleVersion:

Define the module version of the jmod file.
  • Type: java.lang.String
  • Required: No
  • Default: ${project.version}

targetPlatform:

--target-platform <target-platform> Target platform TODO: Which values are valid?
  • Type: java.lang.String
  • Required: No

warnIfResolved:

Hint for a tool to issue a warning if the module is resolved. The valid values are:
  • deprecated
  • deprecated-for-removal
  • incubating
  • Type: java.lang.String
  • Required: No