given as a <ahref="../using.html#references">reference</a>
to a path defined elsewhere.</td>
<td>No</td>
</tr>
<tr>
<td>legalpath</td>
<td>Directories containing legal licenses and notices to include in jmod.</td>
<td>No</td>
</tr>
<tr>
<td>legalpathref</td>
<td>Directories containing legal licenses and notices to include in jmod,
given as a <ahref="../using.html#references">reference</a>
to a path defined elsewhere.</td>
<td>No</td>
</tr>
<tr>
<td>nativelibpath</td>
<td>Directories containing native libraries to include in jmod.</td>
<td>No</td>
</tr>
<tr>
<td>nativelibpathref</td>
<td>Directories containing native libraries to include in jmod,
given as a <ahref="../using.html#references">reference</a>
to a path defined elsewhere.</td>
<td>No</td>
</tr>
<tr>
<td>manpath</td>
<td>Directories containing man pages to include in jmod.</td>
<td>No</td>
</tr>
<tr>
<td>manpathref</td>
<td>Directories containing man pages to include in jmod,
given as a <ahref="../using.html#references">reference</a>
to a path defined elsewhere.</td>
<td>No</td>
</tr>
<tr>
<td>version</td>
<td><ahref="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/module/ModuleDescriptor.Version.html">Module version</a> of jmod.</td>
<td>No</td>
</tr>
<tr>
<td>mainclass</td>
<td>Class that acts as executable entry point of module.</td>
<td>No</td>
</tr>
<tr>
<td>platform</td>
<td>The target platform for the jmod. Typically takes the form
<var>OS</var><code>-</code><var>architecture</var>. A particular JDK's
attributes are <ahref="../using.html#path">path-like structures</a>
and can also be set via nested
<code><classpath></code>,
<code><modulepath></code>,
<code><commandpath></code>,
<code><headerpath></code>,
<code><configpath></code>,
<code><legalpath></code>,
<code><nativelibpath></code>, and
<code><manpath></code>
elements, respectively.</p>
<h4>version</h4>
<p>Fine-grained alternative to the <code>version</code> attribute. This
nested element has these attributes:</p>
<tableclass="attr">
<tr>
<thscope="col">Attribute</th>
<thscope="col">Description</th>
<thscope="col">Required</th>
</tr>
<tr>
<td>number</td>
<td>Primary version number. Can be any text, as long as it does not
contain a hyphen (<code>-</code>) or plus (<code>+</code>).</td>
<td>Yes</td>
</tr>
<tr>
<td>preRelease</td>
<td>Pre-release version. Can be any text, as long as it does not
contain a plus (<code>+</code>).</td>
<td>No</td>
</tr>
<tr>
<td>build</td>
<td>Build version. Can be any text.
<td>No</td>
</tr>
</table>
<p>See the <ahref="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/module/ModuleDescriptor.Version.html">ModuleDescriptor.Version documentation</a>
for a full description of the meaning of each version component.</p>
<h4>moduleWarning</h4>
<p>Like the <code>moduleWarnings</code> attribute, but only specifies a single
basis for emitting warnings. This child element may appear multiple times,
to specify multiple conditions under which warnings should be emitted by the
jmod tool.</p>
<p>Attributes:</p>
<tableclass="attr">
<tr>
<thscope="col">Attribute</th>
<thscope="col">Description</th>
<thscope="col">Required</th>
</tr>
<tr>
<td>reason</td>
<td>Condition which will cause jmod tool to emit warnings. One of:
<dl>
<dt><code>deprecated</code></dt>
<dd>Warn if module is deprecated</dd>
<dt><code>leaving</code></dt>
<dd>Warn if module is deprecated for removal</dd>
<dt><code>incubating</code></dt>
<dd>Warn if module is an incubating (not yet official) module</dd>
</dl>
<td>Yes</td>
</tr>
</table>
<h3>Examples</h3>
<h4>Basic jmod</h4>
<p>Create a jmod from a single modular jar file:</p>