Modified: 
maven/website/components/plugins-archives/maven-compiler-plugin-LATEST/compile-mojo.html
==============================================================================
--- 
maven/website/components/plugins-archives/maven-compiler-plugin-LATEST/compile-mojo.html
 (original)
+++ 
maven/website/components/plugins-archives/maven-compiler-plugin-LATEST/compile-mojo.html
 Wed Jun 26 08:48:37 2024
@@ -2,7 +2,7 @@
 
 
 <!--
- | Generated by Apache Maven Doxia Site Renderer 1.11.1 from 
org.apache.maven.plugins:maven-plugin-report-plugin:3.10.2:report at 2024-03-15
+ | Generated by Apache Maven Doxia Site Renderer 1.11.1 from 
org.apache.maven.plugins:maven-plugin-report-plugin:4.0.0-beta-1:report at 
2024-06-26
  | Rendered using Apache Maven Fluido Skin 1.11.2
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; lang="en">
@@ -49,8 +49,8 @@
       <li><a href="../index.html" title="Plugins">Plugins</a><span 
class="divider">/</span></li>
       <li><a href="index.html" title="Apache Maven Compiler Plugin">Apache 
Maven Compiler Plugin</a><span class="divider">/</span></li>
     <li class="active ">compiler:compile</li>
-        <li id="publishDate" class="pull-right"><span class="divider">|</span> 
Last Published: 2024-03-15</li>
-          <li id="projectVersion" class="pull-right">Version: 3.13.0</li>
+        <li id="publishDate" class="pull-right"><span class="divider">|</span> 
Last Published: 2024-06-26</li>
+          <li id="projectVersion" class="pull-right">Version: 4.0.0-beta-1</li>
           </ul>
         </div>
       </header>
@@ -120,35 +120,15 @@
 <section>
 <h2><a name="compiler:compile"></a>compiler:compile</h2><a 
name="compiler:compile"></a>
 <p><strong>Full name</strong>:</p>
-<p>org.apache.maven.plugins:maven-compiler-plugin:3.13.0:compile</p>
+<p>org.apache.maven.plugins:maven-compiler-plugin:4.0.0-beta-1:compile</p>
 <p><strong>Description</strong>:</p>
 <p>Compiles application sources. By default uses the <a 
href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javac.html";>javac</a>
 compiler of the JDK used to execute Maven. This can be overwritten through <a 
href="https://maven.apache.org/guides/mini/guide-using-toolchains.html";>Toolchains</a>
 or parameter <a href="#compilerId"><code>compilerId</code></a>.<br 
/><strong>See also:</strong> <a 
href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javac.html";>javac
 Command</a></p>
 <p><strong>Attributes</strong>:</p>
 <ul>
 <li>Requires a Maven project to be executed.</li>
-<li>Requires dependency resolution of artifacts in scope: 
<code>compile</code>.</li>
-<li>The goal is thread-safe and supports parallel builds.</li>
+<li>The goal is not marked as thread-safe and thus does not support parallel 
builds.</li>
 <li>Since version: <code>2.0</code>.</li>
 <li>Binds by default to the <a class="externalLink" 
href="https://maven.apache.org/ref/current/maven-core/lifecycles.html";>lifecycle
 phase</a>: <code>compile</code>.</li></ul><section>
-<h3><a name="Required_Parameters"></a>Required Parameters</h3><a 
name="Required_Parameters"></a>
-<table border="0" class="table table-striped">
-<tr class="a">
-<th>Name</th>
-<th>Type</th>
-<th>Since</th>
-<th>Description</th></tr>
-<tr class="b">
-<td align="left"><a 
href="#compileSourceRoots"><code>&lt;compileSourceRoots&gt;</code></a></td>
-<td><code>List&lt;String&gt;</code></td>
-<td><code>-</code></td>
-<td>The source directories containing the sources to be compiled.<br 
/><strong>Default</strong>: <code>${project.compileSourceRoots}</code></td></tr>
-<tr class="a">
-<td align="left"><a 
href="#outputDirectory"><code>&lt;outputDirectory&gt;</code></a></td>
-<td><code>File</code></td>
-<td><code>-</code></td>
-<td>The directory for compiled classes. 
-<p>This parameter should only be modified in special cases. One example is 
creating a multi-release jar with a lower bytecode level (i.e. setting it to 
<code>${project.build.outputDirectory</code>/META-INF/versions/21} or similar) 
in an additional execution.</p>
-<p>When the required bytecode level is available though an installed JDK or 
toolchain, it is recommended to use the <code>&lt;release&gt;</code> property 
in conjunction with the ${multiReleaseOutput} parameter instead.</p><br 
/><strong>Default</strong>: <code>${project.build.outputDirectory}</code><br 
/><strong>User Property</strong>: 
<code>maven.compiler.outputDirectory</code></td></tr></table></section><section>
 <h3><a name="Optional_Parameters"></a>Optional Parameters</h3><a 
name="Optional_Parameters"></a>
 <table border="0" class="table table-striped">
 <tr class="a">
@@ -185,13 +165,23 @@
 <td><code>boolean</code></td>
 <td><code>3.12.0</code></td>
 <td><p>Whether to use the Maven dependency management section when resolving 
transitive dependencies of annotation processor paths.</p>
-<p>This flag does not enable / disable the ability to resolve the version of 
annotation processor paths from dependency management section. It only 
influences the resolution of transitive dependencies of those top-level 
paths.</p><br /><strong>Default</strong>: <code>false</code></td></tr>
+<p>This flag does not enable / disable the ability to resolve the version of 
annotation processor paths from dependency management section. It only 
influences the resolution of transitive dependencies of those top-level 
paths.</p></td></tr>
 <tr class="b">
 <td align="left"><a 
href="#annotationProcessors"><code>&lt;annotationProcessors&gt;</code></a></td>
 <td><code>String[]</code></td>
 <td><code>2.2</code></td>
 <td><p>Names of annotation processors to run. Only applies to JDK 1.6+ If not 
set, the default annotation processors discovery process applies.</p><br 
/><strong>See also:</strong> <a 
href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javac.html#option-processor";>javac
 -processor</a>, <a 
href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javac.html#annotation-processing";>javac
 Annotation Processing</a></td></tr>
 <tr class="a">
+<td align="left"><a 
href="#compilePath"><code>&lt;compilePath&gt;</code></a></td>
+<td><code>List&lt;String&gt;</code></td>
+<td><code>-</code></td>
+<td>No description.</td></tr>
+<tr class="b">
+<td align="left"><a 
href="#compileSourceRoots"><code>&lt;compileSourceRoots&gt;</code></a></td>
+<td><code>List&lt;String&gt;</code></td>
+<td><code>-</code></td>
+<td>The source directories containing the sources to be compiled.</td></tr>
+<tr class="a">
 <td align="left"><a 
href="#compilerArgs"><code>&lt;compilerArgs&gt;</code></a></td>
 <td><code>List&lt;String&gt;</code></td>
 <td><code>3.1</code></td>
@@ -212,26 +202,11 @@
 <p>This is because the list of valid arguments passed to a Java compiler 
varies based on the compiler version.</p>
 <p>Note that <code>-J</code> options are only passed through if <a 
href="#fork"><code>fork</code></a> is set to <code>true</code>.</p><br 
/><strong>See also:</strong> <a 
href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javac.html#option-J";>javac
 -J</a></td></tr>
 <tr class="a">
-<td align="left"><a 
href="#compilerArguments"><code>&lt;compilerArguments&gt;</code></a></td>
-<td><code>Map&lt;String,String&gt;</code></td>
-<td><code>2.0.1</code></td>
-<td><strong>Deprecated.</strong> <p>Sets the arguments to be passed to the 
compiler (prepending a dash).</p>
-<p>This is because the list of valid arguments passed to a Java compiler 
varies based on the compiler version.</p>
-<p>Note that <code>-J</code> options are only passed through if <a 
href="#fork"><code>fork</code></a> is set to <code>true</code>.</p>
-<p>To pass <code>-Xmaxerrs 1000 -Xlint -Xlint:-path -Averbose=true</code> you 
should include the following:</p>
-<pre>&lt;compilerArguments&gt;
-  &lt;Xmaxerrs&gt;1000&lt;/Xmaxerrs&gt;
-  &lt;Xlint/&gt;
-  &lt;Xlint:-path/&gt;
-  &lt;Averbose&gt;true&lt;/Averbose&gt;
-&lt;/compilerArguments&gt;
-</pre></td></tr>
-<tr class="b">
 <td align="left"><a href="#compilerId"><code>&lt;compilerId&gt;</code></a></td>
 <td><code>String</code></td>
 <td><code>-</code></td>
-<td>The compiler id of the compiler to use. See this <a 
href="non-javac-compilers.html">guide</a> for more information.<br 
/><strong>Default</strong>: <code>javac</code><br /><strong>User 
Property</strong>: <code>maven.compiler.compilerId</code></td></tr>
-<tr class="a">
+<td>The compiler id of the compiler to use. See this <a 
href="non-javac-compilers.html">guide</a> for more information.</td></tr>
+<tr class="b">
 <td align="left"><a 
href="#compilerReuseStrategy"><code>&lt;compilerReuseStrategy&gt;</code></a></td>
 <td><code>String</code></td>
 <td><code>2.5</code></td>
@@ -240,93 +215,89 @@
  <li><code>reuseCreated</code> (default): will reuse already created but in 
case of multi-threaded builds, each thread will have its own instance</li>
  <li><code>reuseSame</code>: the same Javacc class will be used for each 
compilation even for multi-threaded build</li>
  <li><code>alwaysNew</code>: a new Javacc class will be created for each 
compilation</li>
-</ul> Note this parameter value depends on the os/jdk you are using, but the 
default value should work on most of env.<br /><strong>Default</strong>: 
<code>${reuseCreated}</code><br /><strong>User Property</strong>: 
<code>maven.compiler.compilerReuseStrategy</code></td></tr>
-<tr class="b">
+</ul> Note this parameter value depends on the os/jdk you are using, but the 
default value should work on most of env.</td></tr>
+<tr class="a">
 <td align="left"><a 
href="#compilerVersion"><code>&lt;compilerVersion&gt;</code></a></td>
 <td><code>String</code></td>
 <td><code>-</code></td>
-<td><strong>Deprecated.</strong> Version of the compiler to use, ex. "1.3", 
"1.5", if <a href="#fork"><code>fork</code></a> is set to <code>true</code>.<br 
/><strong>User Property</strong>: 
<code>maven.compiler.compilerVersion</code></td></tr>
-<tr class="a">
+<td>
+<div><strong>Deprecated.</strong><br />This parameter is no longer evaluated 
by the underlying compilers, instead the actual version of the 
<code>javac</code> binary is automatically retrieved.</div><br />Version of the 
compiler to use, ex. "1.3", "1.5", if <a href="#fork"><code>fork</code></a> is 
set to <code>true</code>.</td></tr>
+<tr class="b">
 <td align="left"><a 
href="#createMissingPackageInfoClass"><code>&lt;createMissingPackageInfoClass&gt;</code></a></td>
 <td><code>boolean</code></td>
 <td><code>3.10</code></td>
-<td>Package info source files that only contain javadoc and no annotation on 
the package can lead to no class file being generated by the compiler. This 
causes a file miss on the next compilations and forces an unnecessary 
recompilation. The default value of <code>true</code> causes an empty class 
file to be generated. This behavior can be changed by setting this parameter to 
<code>false</code>.<br /><strong>Default</strong>: <code>true</code><br 
/><strong>User Property</strong>: 
<code>maven.compiler.createMissingPackageInfoClass</code></td></tr>
-<tr class="b">
+<td>Package info source files that only contain javadoc and no annotation on 
the package can lead to no class file being generated by the compiler. This 
causes a file miss on the next compilations and forces an unnecessary 
recompilation. The default value of <code>true</code> causes an empty class 
file to be generated. This behavior can be changed by setting this parameter to 
<code>false</code>.</td></tr>
+<tr class="a">
 <td align="left"><a href="#debug"><code>&lt;debug&gt;</code></a></td>
 <td><code>boolean</code></td>
 <td><code>-</code></td>
-<td>Set to <code>true</code> to include debugging information in the compiled 
class files.<br /><strong>See also:</strong> <a 
href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javac.html#option-g";>javac
 -g</a>, <a href="#debuglevel">debuglevel</a><br /><strong>Default</strong>: 
<code>true</code><br /><strong>User Property</strong>: 
<code>maven.compiler.debug</code></td></tr>
-<tr class="a">
+<td>Set to <code>true</code> to include debugging information in the compiled 
class files.<br /><strong>See also:</strong> <a 
href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javac.html#option-g";>javac
 -g</a>, <a href="#debuglevel">debuglevel</a></td></tr>
+<tr class="b">
 <td align="left"><a 
href="#debugFileName"><code>&lt;debugFileName&gt;</code></a></td>
 <td><code>String</code></td>
 <td><code>3.10.0</code></td>
-<td>When both <a href="#fork"><code>fork</code></a> and <a 
href="#debug"><code>debug</code></a> are enabled the commandline arguments used 
will be dumped to this file.<br /><strong>Default</strong>: 
<code>javac</code></td></tr>
-<tr class="b">
+<td>When both <a href="#fork"><code>fork</code></a> and <a 
href="#debug"><code>debug</code></a> are enabled the commandline arguments used 
will be dumped to this file.</td></tr>
+<tr class="a">
 <td align="left"><a href="#debuglevel"><code>&lt;debuglevel&gt;</code></a></td>
 <td><code>String</code></td>
 <td><code>2.1</code></td>
-<td>Keyword list to be appended to the <code>-g</code> command-line switch. 
Legal values are none or a comma-separated list of the following keywords: 
<code>lines</code>, <code>vars</code>, and <code>source</code>. If debug level 
is not specified, by default, nothing will be appended to <code>-g</code>. If 
<a href="#debug"><code>debug</code></a> is not turned on, this attribute will 
be ignored.<br /><strong>See also:</strong> <a 
href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javac.html#option-g-custom";>javac
 -G:[lines,vars,source]</a><br /><strong>User Property</strong>: 
<code>maven.compiler.debuglevel</code></td></tr>
-<tr class="a">
+<td>Keyword list to be appended to the <code>-g</code> command-line switch. 
Legal values are none or a comma-separated list of the following keywords: 
<code>lines</code>, <code>vars</code>, and <code>source</code>. If debug level 
is not specified, by default, nothing will be appended to <code>-g</code>. If 
<a href="#debug"><code>debug</code></a> is not turned on, this attribute will 
be ignored.<br /><strong>See also:</strong> <a 
href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javac.html#option-g-custom";>javac
 -G:[lines,vars,source]</a></td></tr>
+<tr class="b">
 <td align="left"><a 
href="#enablePreview"><code>&lt;enablePreview&gt;</code></a></td>
 <td><code>boolean</code></td>
 <td><code>3.10.1</code></td>
-<td>Set to <code>true</code> to enable preview language features of the java 
compiler<br /><strong>See also:</strong> <a 
href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javac.html#option-enable-preview";>javac
 --enable-preview</a><br /><strong>Default</strong>: <code>false</code><br 
/><strong>User Property</strong>: 
<code>maven.compiler.enablePreview</code></td></tr>
-<tr class="b">
+<td>Set to <code>true</code> to enable preview language features of the java 
compiler<br /><strong>See also:</strong> <a 
href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javac.html#option-enable-preview";>javac
 --enable-preview</a></td></tr>
+<tr class="a">
 <td align="left"><a href="#encoding"><code>&lt;encoding&gt;</code></a></td>
 <td><code>String</code></td>
 <td><code>2.1</code></td>
-<td>The <code>-encoding</code> argument for the Java compiler.<br 
/><strong>See also:</strong> <a 
href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javac.html#option-encoding";>javac
 -encoding</a><br /><strong>Default</strong>: 
<code>${project.build.sourceEncoding}</code><br /><strong>User 
Property</strong>: <code>encoding</code></td></tr>
-<tr class="a">
+<td>The <code>-encoding</code> argument for the Java compiler.<br 
/><strong>See also:</strong> <a 
href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javac.html#option-encoding";>javac
 -encoding</a></td></tr>
+<tr class="b">
 <td align="left"><a href="#excludes"><code>&lt;excludes&gt;</code></a></td>
 <td><code>Set&lt;String&gt;</code></td>
 <td><code>-</code></td>
 <td>A list of exclusion filters for the compiler.</td></tr>
-<tr class="b">
+<tr class="a">
 <td align="left"><a href="#executable"><code>&lt;executable&gt;</code></a></td>
 <td><code>String</code></td>
 <td><code>-</code></td>
-<td>Sets the executable of the compiler to use when <a 
href="#fork"><code>fork</code></a> is <code>true</code>.<br /><strong>User 
Property</strong>: <code>maven.compiler.executable</code></td></tr>
-<tr class="a">
+<td>Sets the executable of the compiler to use when <a 
href="#fork"><code>fork</code></a> is <code>true</code>.</td></tr>
+<tr class="b">
 <td align="left"><a 
href="#failOnError"><code>&lt;failOnError&gt;</code></a></td>
 <td><code>boolean</code></td>
 <td><code>2.0.2</code></td>
-<td>Indicates whether the build will continue even if there are compilation 
errors.<br /><strong>Default</strong>: <code>true</code><br /><strong>User 
Property</strong>: <code>maven.compiler.failOnError</code></td></tr>
-<tr class="b">
+<td>Indicates whether the build will continue even if there are compilation 
errors.</td></tr>
+<tr class="a">
 <td align="left"><a 
href="#failOnWarning"><code>&lt;failOnWarning&gt;</code></a></td>
 <td><code>boolean</code></td>
 <td><code>3.6</code></td>
-<td>Indicates whether the build will continue even if there are compilation 
warnings.<br /><strong>Default</strong>: <code>false</code><br /><strong>User 
Property</strong>: <code>maven.compiler.failOnWarning</code></td></tr>
-<tr class="a">
+<td>Indicates whether the build will continue even if there are compilation 
warnings.</td></tr>
+<tr class="b">
 <td align="left"><a 
href="#fileExtensions"><code>&lt;fileExtensions&gt;</code></a></td>
-<td><code>Set&lt;String&gt;</code></td>
+<td><code>List&lt;String&gt;</code></td>
 <td><code>3.1</code></td>
-<td>File extensions to check timestamp for incremental build.<br 
/><strong>Default</strong>: <code>class,jar</code></td></tr>
-<tr class="b">
-<td align="left"><a 
href="#forceJavacCompilerUse"><code>&lt;forceJavacCompilerUse&gt;</code></a></td>
-<td><code>boolean</code></td>
-<td><code>3.0</code></td>
-<td><strong>Deprecated.</strong> Legacy parameter name of <a 
href="#forceLegacyJavacApi"><code>forceLegacyJavacApi</code></a>. Only 
considered if <a 
href="#forceLegacyJavacApi"><code>forceLegacyJavacApi</code></a> is not set or 
<code>false</code>.<br /><strong>Default</strong>: <code>false</code><br 
/><strong>User Property</strong>: 
<code>maven.compiler.forceJavacCompilerUse</code></td></tr>
+<td>File extensions to check timestamp for incremental build. Default contains 
only <code>class</code> and <code>jar</code>.</td></tr>
 <tr class="a">
 <td align="left"><a 
href="#forceLegacyJavacApi"><code>&lt;forceLegacyJavacApi&gt;</code></a></td>
 <td><code>boolean</code></td>
 <td><code>3.13</code></td>
 <td>The underlying compiler now uses <a 
href="https://docs.oracle.com/en/java/javase/17/docs/api/java.compiler/javax/tools/package-summary.html";><code>javax.tools</code>
 API</a> if available in your current JDK. Set this to <code>true</code> to 
always use the legacy <a 
href="https://docs.oracle.com/en/java/javase/17/docs/api/jdk.compiler/com/sun/tools/javac/package-summary.html";>
 <code>com.sun.tools.javac</code> API</a> instead. 
-<p><em>This only has an effect for <a 
href="#compilerId"><code>compilerId</code></a> being <code>javac</code> and <a 
href="#fork"><code>fork</code></a> being <code>false</code></em>.</p><br 
/><strong>Default</strong>: <code>false</code><br /><strong>User 
Property</strong>: <code>maven.compiler.forceLegacyJavacApi</code></td></tr>
+<p><em>This only has an effect for <a 
href="#compilerId"><code>compilerId</code></a> being <code>javac</code> and <a 
href="#fork"><code>fork</code></a> being <code>false</code></em>.</p></td></tr>
 <tr class="b">
 <td align="left"><a href="#fork"><code>&lt;fork&gt;</code></a></td>
 <td><code>boolean</code></td>
 <td><code>-</code></td>
-<td>Allows running the compiler in a separate process. If <code>false</code> 
it uses the built in compiler, while if <code>true</code> it will use an 
executable.<br /><strong>Default</strong>: <code>false</code><br /><strong>User 
Property</strong>: <code>maven.compiler.fork</code></td></tr>
+<td>Allows running the compiler in a separate process. If <code>false</code> 
it uses the built in compiler, while if <code>true</code> it will use an 
executable.</td></tr>
 <tr class="a">
 <td align="left"><a 
href="#generatedSourcesDirectory"><code>&lt;generatedSourcesDirectory&gt;</code></a></td>
-<td><code>File</code></td>
+<td><code>Path</code></td>
 <td><code>2.2</code></td>
-<td>Specify where to place generated source files created by annotation 
processing. Only applies to JDK 1.6+<br /><strong>Default</strong>: 
<code>${project.build.directory}/generated-sources/annotations</code></td></tr>
+<td><p>Specify where to place generated source files created by annotation 
processing. Only applies to JDK 1.6+</p></td></tr>
 <tr class="b">
 <td align="left"><a href="#implicit"><code>&lt;implicit&gt;</code></a></td>
 <td><code>String</code></td>
 <td><code>3.10.2</code></td>
-<td>Keyword to be appended to the <code>-implicit:</code> command-line 
switch.<br /><strong>See also:</strong> <a 
href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javac.html#option-implicit";>javac
 -implicit</a><br /><strong>User Property</strong>: 
<code>maven.compiler.implicit</code></td></tr>
+<td>Keyword to be appended to the <code>-implicit:</code> command-line 
switch.<br /><strong>See also:</strong> <a 
href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javac.html#option-implicit";>javac
 -implicit</a></td></tr>
 <tr class="a">
 <td align="left"><a href="#includes"><code>&lt;includes&gt;</code></a></td>
 <td><code>Set&lt;String&gt;</code></td>
@@ -361,39 +332,45 @@
 <td align="left"><a href="#maxmem"><code>&lt;maxmem&gt;</code></a></td>
 <td><code>String</code></td>
 <td><code>2.0.1</code></td>
-<td>Sets the maximum size, in megabytes, of the memory allocation pool, ex. 
"128", "128m" if <a href="#fork"><code>fork</code></a> is set to 
<code>true</code>.<br /><strong>User Property</strong>: 
<code>maven.compiler.maxmem</code></td></tr>
+<td>Sets the maximum size, in megabytes, of the memory allocation pool, ex. 
"128", "128m" if <a href="#fork"><code>fork</code></a> is set to 
<code>true</code>.</td></tr>
 <tr class="a">
 <td align="left"><a href="#meminitial"><code>&lt;meminitial&gt;</code></a></td>
 <td><code>String</code></td>
 <td><code>2.0.1</code></td>
-<td>Initial size, in megabytes, of the memory allocation pool, ex. "64", "64m" 
if <a href="#fork"><code>fork</code></a> is set to <code>true</code>.<br 
/><strong>User Property</strong>: 
<code>maven.compiler.meminitial</code></td></tr>
+<td>Initial size, in megabytes, of the memory allocation pool, ex. "64", "64m" 
if <a href="#fork"><code>fork</code></a> is set to <code>true</code>.</td></tr>
 <tr class="b">
+<td align="left"><a 
href="#mojoStatusPath"><code>&lt;mojoStatusPath&gt;</code></a></td>
+<td><code>String</code></td>
+<td><code>3.0 needed for storing the status for the incremental build 
support.</code></td>
+<td>No description.</td></tr>
+<tr class="a">
 <td align="left"><a 
href="#multiReleaseOutput"><code>&lt;multiReleaseOutput&gt;</code></a></td>
 <td><code>boolean</code></td>
 <td><code>3.7.1</code></td>
 <td><p>When set to <code>true</code>, the classes will be placed in 
<code>META-INF/versions/${release}</code> The release value must be set, 
otherwise the plugin will fail.</p><strong>Note: </strong> A jar is only a 
multirelease jar if <code>META-INF/MANIFEST.MF</code> contains 
<code>Multi-Release: true</code>. You need to set this by configuring the <a 
href="https://maven.apache.org/plugins/maven-jar-plugin/examples/manifest-customization.html";>maven-jar-plugin</a>.
 This implies that you cannot test a multirelease jar using the 
outputDirectory.</td></tr>
-<tr class="a">
+<tr class="b">
 <td align="left"><a href="#optimize"><code>&lt;optimize&gt;</code></a></td>
 <td><code>boolean</code></td>
 <td><code>-</code></td>
-<td><strong>Deprecated.</strong> Set to <code>true</code> to optimize the 
compiled code using the compiler's optimization methods.<br 
/><strong>Default</strong>: <code>false</code><br /><strong>User 
Property</strong>: <code>maven.compiler.optimize</code></td></tr>
-<tr class="b">
+<td>
+<div><strong>Deprecated.</strong><br />This property is a no-op in 
<code>javac</code>.</div><br />Set to <code>true</code> to optimize the 
compiled code using the compiler's optimization methods.</td></tr>
+<tr class="a">
 <td align="left"><a 
href="#outputFileName"><code>&lt;outputFileName&gt;</code></a></td>
 <td><code>String</code></td>
 <td><code>-</code></td>
 <td>Sets the name of the output file when compiling a set of sources to a 
single file. 
 <p></p> expression="${project.build.finalName}"</td></tr>
-<tr class="a">
+<tr class="b">
 <td align="left"><a 
href="#outputTimestamp"><code>&lt;outputTimestamp&gt;</code></a></td>
 <td><code>String</code></td>
 <td><code>3.12.0</code></td>
-<td>Timestamp for reproducible output archive entries, either formatted as ISO 
8601 <code>yyyy-MM-dd'T'HH:mm:ssXXX</code> or as an int representing seconds 
since the epoch (like <a 
href="https://reproducible-builds.org/docs/source-date-epoch/";>SOURCE_DATE_EPOCH</a>).<br
 /><strong>Default</strong>: 
<code>${project.build.outputTimestamp}</code></td></tr>
-<tr class="b">
+<td>Timestamp for reproducible output archive entries, either formatted as ISO 
8601 <code>yyyy-MM-dd'T'HH:mm:ssXXX</code> or as an int representing seconds 
since the epoch (like <a 
href="https://reproducible-builds.org/docs/source-date-epoch/";>SOURCE_DATE_EPOCH</a>).</td></tr>
+<tr class="a">
 <td align="left"><a href="#parameters"><code>&lt;parameters&gt;</code></a></td>
 <td><code>boolean</code></td>
 <td><code>3.6.2</code></td>
-<td>Set to <code>true</code> to generate metadata for reflection on method 
parameters.<br /><strong>See also:</strong> <a 
href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javac.html#option-parameters";>javac
 -parameters</a><br /><strong>Default</strong>: <code>false</code><br 
/><strong>User Property</strong>: 
<code>maven.compiler.parameters</code></td></tr>
-<tr class="a">
+<td>Set to <code>true</code> to generate metadata for reflection on method 
parameters.<br /><strong>See also:</strong> <a 
href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javac.html#option-parameters";>javac
 -parameters</a></td></tr>
+<tr class="b">
 <td align="left"><a href="#proc"><code>&lt;proc&gt;</code></a></td>
 <td><code>String</code></td>
 <td><code>2.2</code></td>
@@ -403,38 +380,38 @@
  <li><code>none</code> - no annotation processing is performed.</li>
  <li><code>only</code> - only annotation processing is done, no 
compilation.</li>
  <li><code>full</code> - annotation processing and compilation.</li>
-</ul><code>full</code> is the default. Starting with JDK 21, this option must 
be set explicitly.<br /><strong>See also:</strong> <a 
href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javac.html#option-proc";>javac
 -proc</a>, <a 
href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javac.html#annotation-processing";>javac
 Annotation Processing</a><br /><strong>User Property</strong>: 
<code>maven.compiler.proc</code></td></tr>
-<tr class="b">
+</ul><code>full</code> is the default. Starting with JDK 21, this option must 
be set explicitly.<br /><strong>See also:</strong> <a 
href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javac.html#option-proc";>javac
 -proc</a>, <a 
href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javac.html#annotation-processing";>javac
 Annotation Processing</a></td></tr>
+<tr class="a">
 <td align="left"><a href="#release"><code>&lt;release&gt;</code></a></td>
 <td><code>String</code></td>
 <td><code>3.6</code></td>
-<td>The <code>-release</code> argument for the Java compiler, supported since 
Java9<br /><strong>See also:</strong> <a 
href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javac.html#option-release";>javac
 -release</a><br /><strong>User Property</strong>: 
<code>maven.compiler.release</code></td></tr>
-<tr class="a">
+<td>The <code>-release</code> argument for the Java compiler, supported since 
Java9<br /><strong>See also:</strong> <a 
href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javac.html#option-release";>javac
 -release</a></td></tr>
+<tr class="b">
 <td align="left"><a 
href="#showCompilationChanges"><code>&lt;showCompilationChanges&gt;</code></a></td>
 <td><code>boolean</code></td>
 <td><code>-</code></td>
-<td>No description.<br /><strong>Default</strong>: <code>false</code><br 
/><strong>User Property</strong>: 
<code>maven.compiler.showCompilationChanges</code></td></tr>
-<tr class="b">
+<td>No description.</td></tr>
+<tr class="a">
 <td align="left"><a 
href="#showDeprecation"><code>&lt;showDeprecation&gt;</code></a></td>
 <td><code>boolean</code></td>
 <td><code>-</code></td>
-<td>Sets whether to show source locations where deprecated APIs are used.<br 
/><strong>Default</strong>: <code>false</code><br /><strong>User 
Property</strong>: <code>maven.compiler.showDeprecation</code></td></tr>
-<tr class="a">
+<td>Sets whether to show source locations where deprecated APIs are 
used.</td></tr>
+<tr class="b">
 <td align="left"><a 
href="#showWarnings"><code>&lt;showWarnings&gt;</code></a></td>
 <td><code>boolean</code></td>
 <td><code>-</code></td>
-<td>Set to <code>false</code> to disable warnings during compilation.<br 
/><strong>Default</strong>: <code>true</code><br /><strong>User 
Property</strong>: <code>maven.compiler.showWarnings</code></td></tr>
-<tr class="b">
+<td>Set to <code>false</code> to disable warnings during compilation.</td></tr>
+<tr class="a">
 <td align="left"><a href="#skipMain"><code>&lt;skipMain&gt;</code></a></td>
 <td><code>boolean</code></td>
 <td><code>-</code></td>
-<td>Set this to <code>true</code> to bypass compilation of main sources. Its 
use is NOT RECOMMENDED, but quite convenient on occasion.<br /><strong>User 
Property</strong>: <code>maven.main.skip</code></td></tr>
-<tr class="a">
+<td>Set this to <code>true</code> to bypass compilation of main sources. Its 
use is NOT RECOMMENDED, but quite convenient on occasion.</td></tr>
+<tr class="b">
 <td align="left"><a 
href="#skipMultiThreadWarning"><code>&lt;skipMultiThreadWarning&gt;</code></a></td>
 <td><code>boolean</code></td>
 <td><code>2.5</code></td>
-<td>No description.<br /><strong>Default</strong>: <code>false</code><br 
/><strong>User Property</strong>: 
<code>maven.compiler.skipMultiThreadWarning</code></td></tr>
-<tr class="b">
+<td>No description.</td></tr>
+<tr class="a">
 <td align="left"><a href="#source"><code>&lt;source&gt;</code></a></td>
 <td><code>String</code></td>
 <td><code>-</code></td>
@@ -442,13 +419,13 @@
 <p><b>NOTE: </b></p>
 <p>Since 3.8.0 the default value has changed from 1.5 to 1.6</p>
 <p>Since 3.9.0 the default value has changed from 1.6 to 1.7</p>
-<p>Since 3.11.0 the default value has changed from 1.7 to 1.8</p><br 
/><strong>See also:</strong> <a 
href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javac.html#option-source";>javac
 -source</a><br /><strong>Default</strong>: <code>1.8</code><br /><strong>User 
Property</strong>: <code>maven.compiler.source</code></td></tr>
-<tr class="a">
+<p>Since 3.11.0 the default value has changed from 1.7 to 1.8</p><br 
/><strong>See also:</strong> <a 
href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javac.html#option-source";>javac
 -source</a></td></tr>
+<tr class="b">
 <td align="left"><a 
href="#staleMillis"><code>&lt;staleMillis&gt;</code></a></td>
 <td><code>int</code></td>
 <td><code>-</code></td>
-<td>Sets the granularity in milliseconds of the last modification date for 
testing whether a source needs recompilation.<br /><strong>Default</strong>: 
<code>0</code><br /><strong>User Property</strong>: 
<code>lastModGranularityMs</code></td></tr>
-<tr class="b">
+<td>Sets the granularity in milliseconds of the last modification date for 
testing whether a source needs recompilation.</td></tr>
+<tr class="a">
 <td align="left"><a href="#target"><code>&lt;target&gt;</code></a></td>
 <td><code>String</code></td>
 <td><code>-</code></td>
@@ -456,8 +433,8 @@
 <p><b>NOTE: </b></p>
 <p>Since 3.8.0 the default value has changed from 1.5 to 1.6</p>
 <p>Since 3.9.0 the default value has changed from 1.6 to 1.7</p>
-<p>Since 3.11.0 the default value has changed from 1.7 to 1.8</p><br 
/><strong>See also:</strong> <a 
href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javac.html#option-target";>javac
 -target</a><br /><strong>Default</strong>: <code>1.8</code><br /><strong>User 
Property</strong>: <code>maven.compiler.target</code></td></tr>
-<tr class="a">
+<p>Since 3.11.0 the default value has changed from 1.7 to 1.8</p><br 
/><strong>See also:</strong> <a 
href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javac.html#option-target";>javac
 -target</a></td></tr>
+<tr class="b">
 <td align="left"><a 
href="#useIncrementalCompilation"><code>&lt;useIncrementalCompilation&gt;</code></a></td>
 <td><code>boolean</code></td>
 <td><code>3.1</code></td>
@@ -466,14 +443,14 @@
 <ul>
  <li>true <strong>(default)</strong> in this mode the compiler plugin 
determines whether any JAR files the current module depends on have changed in 
the current build run; or any source file was added, removed or changed since 
the last compilation. If this is the case, the compiler plugin recompiles all 
sources.</li>
  <li>false <strong>(not recommended)</strong> this only compiles source files 
which are newer than their corresponding class files, namely which have changed 
since the last compilation. This does not recompile other classes which use the 
changed class, potentially leaving them with references to methods that no 
longer exist, leading to errors at runtime.</li>
-</ul><br /><strong>Default</strong>: <code>true</code><br /><strong>User 
Property</strong>: 
<code>maven.compiler.useIncrementalCompilation</code></td></tr>
-<tr class="b">
+</ul></td></tr>
+<tr class="a">
 <td align="left"><a href="#verbose"><code>&lt;verbose&gt;</code></a></td>
 <td><code>boolean</code></td>
 <td><code>-</code></td>
-<td>Set to <code>true</code> to show messages about what the compiler is 
doing.<br /><strong>See also:</strong> <a 
href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javac.html#option-verbose";>javac
 -verbose</a><br /><strong>Default</strong>: <code>false</code><br 
/><strong>User Property</strong>: 
<code>maven.compiler.verbose</code></td></tr></table></section><section>
-<h3><a name="Parameter_Details"></a>Parameter Details</h3><a 
name="Parameter_Details"></a><a name="annotationProcessorPaths"><section>
-<h4><a 
name="a.3CannotationProcessorPaths.3E"></a>&lt;annotationProcessorPaths&gt;</h4><a
 name="a.3CannotationProcessorPaths.3E"></a></a>
+<td>Set to <code>true</code> to show messages about what the compiler is 
doing.<br /><strong>See also:</strong> <a 
href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javac.html#option-verbose";>javac
 -verbose</a></td></tr></table></section><section>
+<h3><a name="Parameter_Details"></a>Parameter Details</h3><a 
name="Parameter_Details"></a><a name="annotationProcessorPaths"></a><section>
+<h4><a 
name="a.3CannotationProcessorPaths.3E"></a>&lt;annotationProcessorPaths&gt;</h4><a
 name="a.3CannotationProcessorPaths.3E"></a>
 <div><p>Classpath elements to supply as annotation processor path. If 
specified, the compiler will detect annotation processors only in those 
classpath elements. If omitted, the default classpath is used to detect 
annotation processors. The detection itself depends on the configuration of 
<code>annotationProcessors</code>.</p>
 <p>Each classpath element is specified using their Maven coordinates (groupId, 
artifactId, version, classifier, type). Transitive dependencies are added 
automatically. Exclusions are supported as well. Example:</p>
 <pre>&lt;configuration&gt;
@@ -497,22 +474,31 @@
 <ul>
 <li><strong>Type</strong>: <a 
href="apidocs/org/apache/maven/plugin/compiler/DependencyCoordinate.html"><code>java.util.List&lt;org.apache.maven.plugin.compiler.DependencyCoordinate&gt;</code></a></li>
 <li><strong>Since</strong>: <code>3.5</code></li>
-<li><strong>Required</strong>: <code>report.plugin.goal.no</code></li></ul><hr 
/></section><a name="annotationProcessorPathsUseDepMgmt"><section>
-<h4><a 
name="a.3CannotationProcessorPathsUseDepMgmt.3E"></a>&lt;annotationProcessorPathsUseDepMgmt&gt;</h4><a
 name="a.3CannotationProcessorPathsUseDepMgmt.3E"></a></a>
+<li><strong>Required</strong>: <code>No</code></li></ul><hr /></section><a 
name="annotationProcessorPathsUseDepMgmt"></a><section>
+<h4><a 
name="a.3CannotationProcessorPathsUseDepMgmt.3E"></a>&lt;annotationProcessorPathsUseDepMgmt&gt;</h4><a
 name="a.3CannotationProcessorPathsUseDepMgmt.3E"></a>
 <div><p>Whether to use the Maven dependency management section when resolving 
transitive dependencies of annotation processor paths.</p>
 <p>This flag does not enable / disable the ability to resolve the version of 
annotation processor paths from dependency management section. It only 
influences the resolution of transitive dependencies of those top-level 
paths.</p></div>
 <ul>
 <li><strong>Type</strong>: <code>boolean</code></li>
 <li><strong>Since</strong>: <code>3.12.0</code></li>
-<li><strong>Required</strong>: <code>report.plugin.goal.no</code></li>
-<li><strong>Default</strong>: <code>false</code></li></ul><hr /></section><a 
name="annotationProcessors"><section>
-<h4><a 
name="a.3CannotationProcessors.3E"></a>&lt;annotationProcessors&gt;</h4><a 
name="a.3CannotationProcessors.3E"></a></a>
+<li><strong>Required</strong>: <code>No</code></li></ul><hr /></section><a 
name="annotationProcessors"></a><section>
+<h4><a 
name="a.3CannotationProcessors.3E"></a>&lt;annotationProcessors&gt;</h4><a 
name="a.3CannotationProcessors.3E"></a>
 <div><p>Names of annotation processors to run. Only applies to JDK 1.6+ If not 
set, the default annotation processors discovery process applies.</p><br 
/><strong>See also:</strong> <a 
href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javac.html#option-processor";>javac
 -processor</a>, <a 
href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javac.html#annotation-processing";>javac
 Annotation Processing</a></div>
 <ul>
 <li><strong>Type</strong>: <code>java.lang.String[]</code></li>
 <li><strong>Since</strong>: <code>2.2</code></li>
-<li><strong>Required</strong>: <code>report.plugin.goal.no</code></li></ul><hr 
/></section><a name="compilerArgs"><section>
-<h4><a name="a.3CcompilerArgs.3E"></a>&lt;compilerArgs&gt;</h4><a 
name="a.3CcompilerArgs.3E"></a></a>
+<li><strong>Required</strong>: <code>No</code></li></ul><hr /></section><a 
name="compilePath"></a><section>
+<h4><a name="a.3CcompilePath.3E"></a>&lt;compilePath&gt;</h4><a 
name="a.3CcompilePath.3E"></a>
+<div>No description.</div>
+<ul>
+<li><strong>Type</strong>: 
<code>java.util.List&lt;java.lang.String&gt;</code></li>
+<li><strong>Required</strong>: <code>No</code></li></ul><hr /></section><a 
name="compileSourceRoots"></a><section>
+<h4><a name="a.3CcompileSourceRoots.3E"></a>&lt;compileSourceRoots&gt;</h4><a 
name="a.3CcompileSourceRoots.3E"></a>
+<div>The source directories containing the sources to be compiled.</div>
+<ul>
+<li><strong>Type</strong>: 
<code>java.util.List&lt;java.lang.String&gt;</code></li>
+<li><strong>Required</strong>: <code>No</code></li></ul><hr /></section><a 
name="compilerArgs"></a><section>
+<h4><a name="a.3CcompilerArgs.3E"></a>&lt;compilerArgs&gt;</h4><a 
name="a.3CcompilerArgs.3E"></a>
 <div><p>Sets the arguments to be passed to the compiler.</p>
 <p>Note that <code>-J</code> options are only passed through if <a 
href="#fork"><code>fork</code></a> is set to <code>true</code>.</p> Example: 
 <pre>&lt;compilerArgs&gt;
@@ -525,39 +511,20 @@
 <ul>
 <li><strong>Type</strong>: 
<code>java.util.List&lt;java.lang.String&gt;</code></li>
 <li><strong>Since</strong>: <code>3.1</code></li>
-<li><strong>Required</strong>: <code>report.plugin.goal.no</code></li></ul><hr 
/></section><a name="compilerArgument"><section>
-<h4><a name="a.3CcompilerArgument.3E"></a>&lt;compilerArgument&gt;</h4><a 
name="a.3CcompilerArgument.3E"></a></a>
+<li><strong>Required</strong>: <code>No</code></li></ul><hr /></section><a 
name="compilerArgument"></a><section>
+<h4><a name="a.3CcompilerArgument.3E"></a>&lt;compilerArgument&gt;</h4><a 
name="a.3CcompilerArgument.3E"></a>
 <div><p>Sets the unformatted single argument string to be passed to the 
compiler. To pass multiple arguments such as <code>-Xmaxerrs 1000</code> (which 
are actually two arguments) you have to use <a 
href="#compilerArgs"><code>compilerArgs</code></a>.</p>
 <p>This is because the list of valid arguments passed to a Java compiler 
varies based on the compiler version.</p>
 <p>Note that <code>-J</code> options are only passed through if <a 
href="#fork"><code>fork</code></a> is set to <code>true</code>.</p><br 
/><strong>See also:</strong> <a 
href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javac.html#option-J";>javac
 -J</a></div>
 <ul>
 <li><strong>Type</strong>: <code>java.lang.String</code></li>
-<li><strong>Required</strong>: <code>report.plugin.goal.no</code></li></ul><hr 
/></section><a name="compilerArguments"><section>
-<h4><a name="a.3CcompilerArguments.3E"></a>&lt;compilerArguments&gt;</h4><a 
name="a.3CcompilerArguments.3E"></a></a>
-<div><strong>Deprecated.</strong> use <a 
href="#compilerArgs"><code>compilerArgs</code></a> instead.</div>
-<div><p>Sets the arguments to be passed to the compiler (prepending a 
dash).</p>
-<p>This is because the list of valid arguments passed to a Java compiler 
varies based on the compiler version.</p>
-<p>Note that <code>-J</code> options are only passed through if <a 
href="#fork"><code>fork</code></a> is set to <code>true</code>.</p>
-<p>To pass <code>-Xmaxerrs 1000 -Xlint -Xlint:-path -Averbose=true</code> you 
should include the following:</p>
-<pre>&lt;compilerArguments&gt;
-  &lt;Xmaxerrs&gt;1000&lt;/Xmaxerrs&gt;
-  &lt;Xlint/&gt;
-  &lt;Xlint:-path/&gt;
-  &lt;Averbose&gt;true&lt;/Averbose&gt;
-&lt;/compilerArguments&gt;
-</pre></div>
-<ul>
-<li><strong>Type</strong>: <code>java.util.Map&lt;java.lang.String, 
java.lang.String&gt;</code></li>
-<li><strong>Since</strong>: <code>2.0.1</code></li>
-<li><strong>Required</strong>: <code>report.plugin.goal.no</code></li></ul><hr 
/></section><a name="compilerId"><section>
-<h4><a name="a.3CcompilerId.3E"></a>&lt;compilerId&gt;</h4><a 
name="a.3CcompilerId.3E"></a></a>
+<li><strong>Required</strong>: <code>No</code></li></ul><hr /></section><a 
name="compilerId"></a><section>
+<h4><a name="a.3CcompilerId.3E"></a>&lt;compilerId&gt;</h4><a 
name="a.3CcompilerId.3E"></a>
 <div>The compiler id of the compiler to use. See this <a 
href="non-javac-compilers.html">guide</a> for more information.</div>
 <ul>
 <li><strong>Type</strong>: <code>java.lang.String</code></li>
-<li><strong>Required</strong>: <code>report.plugin.goal.no</code></li>
-<li><strong>User Property</strong>: <code>maven.compiler.compilerId</code></li>
-<li><strong>Default</strong>: <code>javac</code></li></ul><hr /></section><a 
name="compilerReuseStrategy"><section>
-<h4><a 
name="a.3CcompilerReuseStrategy.3E"></a>&lt;compilerReuseStrategy&gt;</h4><a 
name="a.3CcompilerReuseStrategy.3E"></a></a>
+<li><strong>Required</strong>: <code>No</code></li></ul><hr /></section><a 
name="compilerReuseStrategy"></a><section>
+<h4><a 
name="a.3CcompilerReuseStrategy.3E"></a>&lt;compilerReuseStrategy&gt;</h4><a 
name="a.3CcompilerReuseStrategy.3E"></a>
 <div>Strategy to re use javacc class created: 
 <ul>
  <li><code>reuseCreated</code> (default): will reuse already created but in 
case of multi-threaded builds, each thread will have its own instance</li>
@@ -567,152 +534,112 @@
 <ul>
 <li><strong>Type</strong>: <code>java.lang.String</code></li>
 <li><strong>Since</strong>: <code>2.5</code></li>
-<li><strong>Required</strong>: <code>report.plugin.goal.no</code></li>
-<li><strong>User Property</strong>: 
<code>maven.compiler.compilerReuseStrategy</code></li>
-<li><strong>Default</strong>: <code>${reuseCreated}</code></li></ul><hr 
/></section><a name="compilerVersion"><section>
-<h4><a name="a.3CcompilerVersion.3E"></a>&lt;compilerVersion&gt;</h4><a 
name="a.3CcompilerVersion.3E"></a></a>
-<div><strong>Deprecated.</strong> This parameter is no longer evaluated by the 
underlying compilers, instead the actual version of the <code>javac</code> 
binary is automatically retrieved.</div>
+<li><strong>Required</strong>: <code>No</code></li></ul><hr /></section><a 
name="compilerVersion"></a><section>
+<h4><a name="a.3CcompilerVersion.3E"></a>&lt;compilerVersion&gt;</h4><a 
name="a.3CcompilerVersion.3E"></a>
+<div><strong>Deprecated.</strong><br />This parameter is no longer evaluated 
by the underlying compilers, instead the actual version of the 
<code>javac</code> binary is automatically retrieved.</div><br />
 <div>Version of the compiler to use, ex. "1.3", "1.5", if <a 
href="#fork"><code>fork</code></a> is set to <code>true</code>.</div>
 <ul>
 <li><strong>Type</strong>: <code>java.lang.String</code></li>
-<li><strong>Required</strong>: <code>report.plugin.goal.no</code></li>
-<li><strong>User Property</strong>: 
<code>maven.compiler.compilerVersion</code></li></ul><hr /></section><a 
name="compileSourceRoots"><section>
-<h4><a name="a.3CcompileSourceRoots.3E"></a>&lt;compileSourceRoots&gt;</h4><a 
name="a.3CcompileSourceRoots.3E"></a></a>
-<div>The source directories containing the sources to be compiled.</div>
-<ul>
-<li><strong>Type</strong>: 
<code>java.util.List&lt;java.lang.String&gt;</code></li>
-<li><strong>Required</strong>: <code>report.plugin.goal.yes</code></li>
-<li><strong>Default</strong>: 
<code>${project.compileSourceRoots}</code></li></ul><hr /></section><a 
name="createMissingPackageInfoClass"><section>
-<h4><a 
name="a.3CcreateMissingPackageInfoClass.3E"></a>&lt;createMissingPackageInfoClass&gt;</h4><a
 name="a.3CcreateMissingPackageInfoClass.3E"></a></a>
+<li><strong>Required</strong>: <code>No</code></li></ul><hr /></section><a 
name="createMissingPackageInfoClass"></a><section>
+<h4><a 
name="a.3CcreateMissingPackageInfoClass.3E"></a>&lt;createMissingPackageInfoClass&gt;</h4><a
 name="a.3CcreateMissingPackageInfoClass.3E"></a>
 <div>Package info source files that only contain javadoc and no annotation on 
the package can lead to no class file being generated by the compiler. This 
causes a file miss on the next compilations and forces an unnecessary 
recompilation. The default value of <code>true</code> causes an empty class 
file to be generated. This behavior can be changed by setting this parameter to 
<code>false</code>.</div>
 <ul>
 <li><strong>Type</strong>: <code>boolean</code></li>
 <li><strong>Since</strong>: <code>3.10</code></li>
-<li><strong>Required</strong>: <code>report.plugin.goal.no</code></li>
-<li><strong>User Property</strong>: 
<code>maven.compiler.createMissingPackageInfoClass</code></li>
-<li><strong>Default</strong>: <code>true</code></li></ul><hr /></section><a 
name="debug"><section>
-<h4><a name="a.3Cdebug.3E"></a>&lt;debug&gt;</h4><a 
name="a.3Cdebug.3E"></a></a>
+<li><strong>Required</strong>: <code>No</code></li></ul><hr /></section><a 
name="debug"></a><section>
+<h4><a name="a.3Cdebug.3E"></a>&lt;debug&gt;</h4><a name="a.3Cdebug.3E"></a>
 <div>Set to <code>true</code> to include debugging information in the compiled 
class files.<br /><strong>See also:</strong> <a 
href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javac.html#option-g";>javac
 -g</a>, <a href="#debuglevel">debuglevel</a></div>
 <ul>
 <li><strong>Type</strong>: <code>boolean</code></li>
-<li><strong>Required</strong>: <code>report.plugin.goal.no</code></li>
-<li><strong>User Property</strong>: <code>maven.compiler.debug</code></li>
-<li><strong>Default</strong>: <code>true</code></li></ul><hr /></section><a 
name="debugFileName"><section>
-<h4><a name="a.3CdebugFileName.3E"></a>&lt;debugFileName&gt;</h4><a 
name="a.3CdebugFileName.3E"></a></a>
+<li><strong>Required</strong>: <code>No</code></li></ul><hr /></section><a 
name="debugFileName"></a><section>
+<h4><a name="a.3CdebugFileName.3E"></a>&lt;debugFileName&gt;</h4><a 
name="a.3CdebugFileName.3E"></a>
 <div>When both <a href="#fork"><code>fork</code></a> and <a 
href="#debug"><code>debug</code></a> are enabled the commandline arguments used 
will be dumped to this file.</div>
 <ul>
 <li><strong>Type</strong>: <code>java.lang.String</code></li>
 <li><strong>Since</strong>: <code>3.10.0</code></li>
-<li><strong>Required</strong>: <code>report.plugin.goal.no</code></li>
-<li><strong>Default</strong>: <code>javac</code></li></ul><hr /></section><a 
name="debuglevel"><section>
-<h4><a name="a.3Cdebuglevel.3E"></a>&lt;debuglevel&gt;</h4><a 
name="a.3Cdebuglevel.3E"></a></a>
+<li><strong>Required</strong>: <code>No</code></li></ul><hr /></section><a 
name="debuglevel"></a><section>
+<h4><a name="a.3Cdebuglevel.3E"></a>&lt;debuglevel&gt;</h4><a 
name="a.3Cdebuglevel.3E"></a>
 <div>Keyword list to be appended to the <code>-g</code> command-line switch. 
Legal values are none or a comma-separated list of the following keywords: 
<code>lines</code>, <code>vars</code>, and <code>source</code>. If debug level 
is not specified, by default, nothing will be appended to <code>-g</code>. If 
<a href="#debug"><code>debug</code></a> is not turned on, this attribute will 
be ignored.<br /><strong>See also:</strong> <a 
href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javac.html#option-g-custom";>javac
 -G:[lines,vars,source]</a></div>
 <ul>
 <li><strong>Type</strong>: <code>java.lang.String</code></li>
 <li><strong>Since</strong>: <code>2.1</code></li>
-<li><strong>Required</strong>: <code>report.plugin.goal.no</code></li>
-<li><strong>User Property</strong>: 
<code>maven.compiler.debuglevel</code></li></ul><hr /></section><a 
name="enablePreview"><section>
-<h4><a name="a.3CenablePreview.3E"></a>&lt;enablePreview&gt;</h4><a 
name="a.3CenablePreview.3E"></a></a>
+<li><strong>Required</strong>: <code>No</code></li></ul><hr /></section><a 
name="enablePreview"></a><section>
+<h4><a name="a.3CenablePreview.3E"></a>&lt;enablePreview&gt;</h4><a 
name="a.3CenablePreview.3E"></a>
 <div>Set to <code>true</code> to enable preview language features of the java 
compiler<br /><strong>See also:</strong> <a 
href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javac.html#option-enable-preview";>javac
 --enable-preview</a></div>
 <ul>
 <li><strong>Type</strong>: <code>boolean</code></li>
 <li><strong>Since</strong>: <code>3.10.1</code></li>
-<li><strong>Required</strong>: <code>report.plugin.goal.no</code></li>
-<li><strong>User Property</strong>: 
<code>maven.compiler.enablePreview</code></li>
-<li><strong>Default</strong>: <code>false</code></li></ul><hr /></section><a 
name="encoding"><section>
-<h4><a name="a.3Cencoding.3E"></a>&lt;encoding&gt;</h4><a 
name="a.3Cencoding.3E"></a></a>
+<li><strong>Required</strong>: <code>No</code></li></ul><hr /></section><a 
name="encoding"></a><section>
+<h4><a name="a.3Cencoding.3E"></a>&lt;encoding&gt;</h4><a 
name="a.3Cencoding.3E"></a>
 <div>The <code>-encoding</code> argument for the Java compiler.<br 
/><strong>See also:</strong> <a 
href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javac.html#option-encoding";>javac
 -encoding</a></div>
 <ul>
 <li><strong>Type</strong>: <code>java.lang.String</code></li>
 <li><strong>Since</strong>: <code>2.1</code></li>
-<li><strong>Required</strong>: <code>report.plugin.goal.no</code></li>
-<li><strong>User Property</strong>: <code>encoding</code></li>
-<li><strong>Default</strong>: 
<code>${project.build.sourceEncoding}</code></li></ul><hr /></section><a 
name="excludes"><section>
-<h4><a name="a.3Cexcludes.3E"></a>&lt;excludes&gt;</h4><a 
name="a.3Cexcludes.3E"></a></a>
+<li><strong>Required</strong>: <code>No</code></li></ul><hr /></section><a 
name="excludes"></a><section>
+<h4><a name="a.3Cexcludes.3E"></a>&lt;excludes&gt;</h4><a 
name="a.3Cexcludes.3E"></a>
 <div>A list of exclusion filters for the compiler.</div>
 <ul>
 <li><strong>Type</strong>: 
<code>java.util.Set&lt;java.lang.String&gt;</code></li>
-<li><strong>Required</strong>: <code>report.plugin.goal.no</code></li></ul><hr 
/></section><a name="executable"><section>
-<h4><a name="a.3Cexecutable.3E"></a>&lt;executable&gt;</h4><a 
name="a.3Cexecutable.3E"></a></a>
+<li><strong>Required</strong>: <code>No</code></li></ul><hr /></section><a 
name="executable"></a><section>
+<h4><a name="a.3Cexecutable.3E"></a>&lt;executable&gt;</h4><a 
name="a.3Cexecutable.3E"></a>
 <div>Sets the executable of the compiler to use when <a 
href="#fork"><code>fork</code></a> is <code>true</code>.</div>
 <ul>
 <li><strong>Type</strong>: <code>java.lang.String</code></li>
-<li><strong>Required</strong>: <code>report.plugin.goal.no</code></li>
-<li><strong>User Property</strong>: 
<code>maven.compiler.executable</code></li></ul><hr /></section><a 
name="failOnError"><section>
-<h4><a name="a.3CfailOnError.3E"></a>&lt;failOnError&gt;</h4><a 
name="a.3CfailOnError.3E"></a></a>
+<li><strong>Required</strong>: <code>No</code></li></ul><hr /></section><a 
name="failOnError"></a><section>
+<h4><a name="a.3CfailOnError.3E"></a>&lt;failOnError&gt;</h4><a 
name="a.3CfailOnError.3E"></a>
 <div>Indicates whether the build will continue even if there are compilation 
errors.</div>
 <ul>
 <li><strong>Type</strong>: <code>boolean</code></li>
 <li><strong>Since</strong>: <code>2.0.2</code></li>
-<li><strong>Required</strong>: <code>report.plugin.goal.no</code></li>
-<li><strong>User Property</strong>: 
<code>maven.compiler.failOnError</code></li>
-<li><strong>Default</strong>: <code>true</code></li></ul><hr /></section><a 
name="failOnWarning"><section>
-<h4><a name="a.3CfailOnWarning.3E"></a>&lt;failOnWarning&gt;</h4><a 
name="a.3CfailOnWarning.3E"></a></a>
+<li><strong>Required</strong>: <code>No</code></li></ul><hr /></section><a 
name="failOnWarning"></a><section>
+<h4><a name="a.3CfailOnWarning.3E"></a>&lt;failOnWarning&gt;</h4><a 
name="a.3CfailOnWarning.3E"></a>
 <div>Indicates whether the build will continue even if there are compilation 
warnings.</div>
 <ul>
 <li><strong>Type</strong>: <code>boolean</code></li>
 <li><strong>Since</strong>: <code>3.6</code></li>
-<li><strong>Required</strong>: <code>report.plugin.goal.no</code></li>
-<li><strong>User Property</strong>: 
<code>maven.compiler.failOnWarning</code></li>
-<li><strong>Default</strong>: <code>false</code></li></ul><hr /></section><a 
name="fileExtensions"><section>
-<h4><a name="a.3CfileExtensions.3E"></a>&lt;fileExtensions&gt;</h4><a 
name="a.3CfileExtensions.3E"></a></a>
-<div>File extensions to check timestamp for incremental build.</div>
+<li><strong>Required</strong>: <code>No</code></li></ul><hr /></section><a 
name="fileExtensions"></a><section>
+<h4><a name="a.3CfileExtensions.3E"></a>&lt;fileExtensions&gt;</h4><a 
name="a.3CfileExtensions.3E"></a>
+<div>File extensions to check timestamp for incremental build. Default 
contains only <code>class</code> and <code>jar</code>.</div>
 <ul>
-<li><strong>Type</strong>: 
<code>java.util.Set&lt;java.lang.String&gt;</code></li>
+<li><strong>Type</strong>: 
<code>java.util.List&lt;java.lang.String&gt;</code></li>
 <li><strong>Since</strong>: <code>3.1</code></li>
-<li><strong>Required</strong>: <code>report.plugin.goal.no</code></li>
-<li><strong>Default</strong>: <code>class,jar</code></li></ul><hr 
/></section><a name="forceJavacCompilerUse"><section>
-<h4><a 
name="a.3CforceJavacCompilerUse.3E"></a>&lt;forceJavacCompilerUse&gt;</h4><a 
name="a.3CforceJavacCompilerUse.3E"></a></a>
-<div><strong>Deprecated.</strong> Use <a 
href="#forceLegacyJavacApi"><code>forceLegacyJavacApi</code></a> instead</div>
-<div>Legacy parameter name of <a 
href="#forceLegacyJavacApi"><code>forceLegacyJavacApi</code></a>. Only 
considered if <a 
href="#forceLegacyJavacApi"><code>forceLegacyJavacApi</code></a> is not set or 
<code>false</code>.</div>
-<ul>
-<li><strong>Type</strong>: <code>boolean</code></li>
-<li><strong>Since</strong>: <code>3.0</code></li>
-<li><strong>Required</strong>: <code>report.plugin.goal.no</code></li>
-<li><strong>User Property</strong>: 
<code>maven.compiler.forceJavacCompilerUse</code></li>
-<li><strong>Default</strong>: <code>false</code></li></ul><hr /></section><a 
name="forceLegacyJavacApi"><section>
-<h4><a 
name="a.3CforceLegacyJavacApi.3E"></a>&lt;forceLegacyJavacApi&gt;</h4><a 
name="a.3CforceLegacyJavacApi.3E"></a></a>
+<li><strong>Required</strong>: <code>No</code></li></ul><hr /></section><a 
name="forceLegacyJavacApi"></a><section>
+<h4><a 
name="a.3CforceLegacyJavacApi.3E"></a>&lt;forceLegacyJavacApi&gt;</h4><a 
name="a.3CforceLegacyJavacApi.3E"></a>
 <div>The underlying compiler now uses <a 
href="https://docs.oracle.com/en/java/javase/17/docs/api/java.compiler/javax/tools/package-summary.html";><code>javax.tools</code>
 API</a> if available in your current JDK. Set this to <code>true</code> to 
always use the legacy <a 
href="https://docs.oracle.com/en/java/javase/17/docs/api/jdk.compiler/com/sun/tools/javac/package-summary.html";>
 <code>com.sun.tools.javac</code> API</a> instead. 
 <p><em>This only has an effect for <a 
href="#compilerId"><code>compilerId</code></a> being <code>javac</code> and <a 
href="#fork"><code>fork</code></a> being <code>false</code></em>.</p></div>
 <ul>
 <li><strong>Type</strong>: <code>boolean</code></li>
 <li><strong>Since</strong>: <code>3.13</code></li>
-<li><strong>Required</strong>: <code>report.plugin.goal.no</code></li>
-<li><strong>User Property</strong>: 
<code>maven.compiler.forceLegacyJavacApi</code></li>
-<li><strong>Default</strong>: <code>false</code></li></ul><hr /></section><a 
name="fork"><section>
-<h4><a name="a.3Cfork.3E"></a>&lt;fork&gt;</h4><a name="a.3Cfork.3E"></a></a>
+<li><strong>Required</strong>: <code>No</code></li></ul><hr /></section><a 
name="fork"></a><section>
+<h4><a name="a.3Cfork.3E"></a>&lt;fork&gt;</h4><a name="a.3Cfork.3E"></a>
 <div>Allows running the compiler in a separate process. If <code>false</code> 
it uses the built in compiler, while if <code>true</code> it will use an 
executable.</div>
 <ul>
 <li><strong>Type</strong>: <code>boolean</code></li>
-<li><strong>Required</strong>: <code>report.plugin.goal.no</code></li>
-<li><strong>User Property</strong>: <code>maven.compiler.fork</code></li>
-<li><strong>Default</strong>: <code>false</code></li></ul><hr /></section><a 
name="generatedSourcesDirectory"><section>
-<h4><a 
name="a.3CgeneratedSourcesDirectory.3E"></a>&lt;generatedSourcesDirectory&gt;</h4><a
 name="a.3CgeneratedSourcesDirectory.3E"></a></a>
-<div>Specify where to place generated source files created by annotation 
processing. Only applies to JDK 1.6+</div>
+<li><strong>Required</strong>: <code>No</code></li></ul><hr /></section><a 
name="generatedSourcesDirectory"></a><section>
+<h4><a 
name="a.3CgeneratedSourcesDirectory.3E"></a>&lt;generatedSourcesDirectory&gt;</h4><a
 name="a.3CgeneratedSourcesDirectory.3E"></a>
+<div><p>Specify where to place generated source files created by annotation 
processing. Only applies to JDK 1.6+</p></div>
 <ul>
-<li><strong>Type</strong>: <code>java.io.File</code></li>
+<li><strong>Type</strong>: <code>java.nio.file.Path</code></li>
 <li><strong>Since</strong>: <code>2.2</code></li>
-<li><strong>Required</strong>: <code>report.plugin.goal.no</code></li>
-<li><strong>Default</strong>: 
<code>${project.build.directory}/generated-sources/annotations</code></li></ul><hr
 /></section><a name="implicit"><section>
-<h4><a name="a.3Cimplicit.3E"></a>&lt;implicit&gt;</h4><a 
name="a.3Cimplicit.3E"></a></a>
+<li><strong>Required</strong>: <code>No</code></li></ul><hr /></section><a 
name="implicit"></a><section>
+<h4><a name="a.3Cimplicit.3E"></a>&lt;implicit&gt;</h4><a 
name="a.3Cimplicit.3E"></a>
 <div>Keyword to be appended to the <code>-implicit:</code> command-line 
switch.<br /><strong>See also:</strong> <a 
href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javac.html#option-implicit";>javac
 -implicit</a></div>
 <ul>
 <li><strong>Type</strong>: <code>java.lang.String</code></li>
 <li><strong>Since</strong>: <code>3.10.2</code></li>
-<li><strong>Required</strong>: <code>report.plugin.goal.no</code></li>
-<li><strong>User Property</strong>: 
<code>maven.compiler.implicit</code></li></ul><hr /></section><a 
name="includes"><section>
-<h4><a name="a.3Cincludes.3E"></a>&lt;includes&gt;</h4><a 
name="a.3Cincludes.3E"></a></a>
+<li><strong>Required</strong>: <code>No</code></li></ul><hr /></section><a 
name="includes"></a><section>
+<h4><a name="a.3Cincludes.3E"></a>&lt;includes&gt;</h4><a 
name="a.3Cincludes.3E"></a>
 <div>A list of inclusion filters for the compiler.</div>
 <ul>
 <li><strong>Type</strong>: 
<code>java.util.Set&lt;java.lang.String&gt;</code></li>
-<li><strong>Required</strong>: <code>report.plugin.goal.no</code></li></ul><hr 
/></section><a name="incrementalExcludes"><section>
-<h4><a 
name="a.3CincrementalExcludes.3E"></a>&lt;incrementalExcludes&gt;</h4><a 
name="a.3CincrementalExcludes.3E"></a></a>
+<li><strong>Required</strong>: <code>No</code></li></ul><hr /></section><a 
name="incrementalExcludes"></a><section>
+<h4><a 
name="a.3CincrementalExcludes.3E"></a>&lt;incrementalExcludes&gt;</h4><a 
name="a.3CincrementalExcludes.3E"></a>
 <div>A list of exclusion filters for the incremental calculation.</div>
 <ul>
 <li><strong>Type</strong>: 
<code>java.util.Set&lt;java.lang.String&gt;</code></li>
 <li><strong>Since</strong>: <code>3.11</code></li>
-<li><strong>Required</strong>: <code>report.plugin.goal.no</code></li></ul><hr 
/></section><a name="jdkToolchain"><section>
-<h4><a name="a.3CjdkToolchain.3E"></a>&lt;jdkToolchain&gt;</h4><a 
name="a.3CjdkToolchain.3E"></a></a>
+<li><strong>Required</strong>: <code>No</code></li></ul><hr /></section><a 
name="jdkToolchain"></a><section>
+<h4><a name="a.3CjdkToolchain.3E"></a>&lt;jdkToolchain&gt;</h4><a 
name="a.3CjdkToolchain.3E"></a>
 <div><p>Specify the requirements for this jdk toolchain for using a different 
<code>javac</code> than the one of the JRE used by Maven. This overrules the 
toolchain selected by the <a 
href="https://maven.apache.org/plugins/maven-toolchains-plugin/";>maven-toolchain-plugin</a>.</p>
 (see <a 
href="https://maven.apache.org/guides/mini/guide-using-toolchains.html";> Guide 
to Toolchains</a> for more info) 
 <pre>&lt;configuration&gt;
   &lt;jdkToolchain&gt;
@@ -732,66 +659,56 @@
 <ul>
 <li><strong>Type</strong>: <code>java.util.Map&lt;java.lang.String, 
java.lang.String&gt;</code></li>
 <li><strong>Since</strong>: <code>3.6</code></li>
-<li><strong>Required</strong>: <code>report.plugin.goal.no</code></li></ul><hr 
/></section><a name="maxmem"><section>
-<h4><a name="a.3Cmaxmem.3E"></a>&lt;maxmem&gt;</h4><a 
name="a.3Cmaxmem.3E"></a></a>
+<li><strong>Required</strong>: <code>No</code></li></ul><hr /></section><a 
name="maxmem"></a><section>
+<h4><a name="a.3Cmaxmem.3E"></a>&lt;maxmem&gt;</h4><a name="a.3Cmaxmem.3E"></a>
 <div>Sets the maximum size, in megabytes, of the memory allocation pool, ex. 
"128", "128m" if <a href="#fork"><code>fork</code></a> is set to 
<code>true</code>.</div>
 <ul>
 <li><strong>Type</strong>: <code>java.lang.String</code></li>
 <li><strong>Since</strong>: <code>2.0.1</code></li>
-<li><strong>Required</strong>: <code>report.plugin.goal.no</code></li>
-<li><strong>User Property</strong>: 
<code>maven.compiler.maxmem</code></li></ul><hr /></section><a 
name="meminitial"><section>
-<h4><a name="a.3Cmeminitial.3E"></a>&lt;meminitial&gt;</h4><a 
name="a.3Cmeminitial.3E"></a></a>
+<li><strong>Required</strong>: <code>No</code></li></ul><hr /></section><a 
name="meminitial"></a><section>
+<h4><a name="a.3Cmeminitial.3E"></a>&lt;meminitial&gt;</h4><a 
name="a.3Cmeminitial.3E"></a>
 <div>Initial size, in megabytes, of the memory allocation pool, ex. "64", 
"64m" if <a href="#fork"><code>fork</code></a> is set to 
<code>true</code>.</div>
 <ul>
 <li><strong>Type</strong>: <code>java.lang.String</code></li>
 <li><strong>Since</strong>: <code>2.0.1</code></li>
-<li><strong>Required</strong>: <code>report.plugin.goal.no</code></li>
-<li><strong>User Property</strong>: 
<code>maven.compiler.meminitial</code></li></ul><hr /></section><a 
name="multiReleaseOutput"><section>
-<h4><a name="a.3CmultiReleaseOutput.3E"></a>&lt;multiReleaseOutput&gt;</h4><a 
name="a.3CmultiReleaseOutput.3E"></a></a>
+<li><strong>Required</strong>: <code>No</code></li></ul><hr /></section><a 
name="mojoStatusPath"></a><section>
+<h4><a name="a.3CmojoStatusPath.3E"></a>&lt;mojoStatusPath&gt;</h4><a 
name="a.3CmojoStatusPath.3E"></a>
+<div>No description.</div>
+<ul>
+<li><strong>Type</strong>: <code>java.lang.String</code></li>
+<li><strong>Since</strong>: <code>3.0 needed for storing the status for the 
incremental build support.</code></li>
+<li><strong>Required</strong>: <code>No</code></li></ul><hr /></section><a 
name="multiReleaseOutput"></a><section>
+<h4><a name="a.3CmultiReleaseOutput.3E"></a>&lt;multiReleaseOutput&gt;</h4><a 
name="a.3CmultiReleaseOutput.3E"></a>
 <div><p>When set to <code>true</code>, the classes will be placed in 
<code>META-INF/versions/${release}</code> The release value must be set, 
otherwise the plugin will fail.</p><strong>Note: </strong> A jar is only a 
multirelease jar if <code>META-INF/MANIFEST.MF</code> contains 
<code>Multi-Release: true</code>. You need to set this by configuring the <a 
href="https://maven.apache.org/plugins/maven-jar-plugin/examples/manifest-customization.html";>maven-jar-plugin</a>.
 This implies that you cannot test a multirelease jar using the 
outputDirectory.</div>
 <ul>
 <li><strong>Type</strong>: <code>boolean</code></li>
 <li><strong>Since</strong>: <code>3.7.1</code></li>
-<li><strong>Required</strong>: <code>report.plugin.goal.no</code></li></ul><hr 
/></section><a name="optimize"><section>
-<h4><a name="a.3Coptimize.3E"></a>&lt;optimize&gt;</h4><a 
name="a.3Coptimize.3E"></a></a>
-<div><strong>Deprecated.</strong> This property is a no-op in 
<code>javac</code>.</div>
+<li><strong>Required</strong>: <code>No</code></li></ul><hr /></section><a 
name="optimize"></a><section>
+<h4><a name="a.3Coptimize.3E"></a>&lt;optimize&gt;</h4><a 
name="a.3Coptimize.3E"></a>
+<div><strong>Deprecated.</strong><br />This property is a no-op in 
<code>javac</code>.</div><br />
 <div>Set to <code>true</code> to optimize the compiled code using the 
compiler's optimization methods.</div>
 <ul>
 <li><strong>Type</strong>: <code>boolean</code></li>
-<li><strong>Required</strong>: <code>report.plugin.goal.no</code></li>
-<li><strong>User Property</strong>: <code>maven.compiler.optimize</code></li>
-<li><strong>Default</strong>: <code>false</code></li></ul><hr /></section><a 
name="outputDirectory"><section>
-<h4><a name="a.3CoutputDirectory.3E"></a>&lt;outputDirectory&gt;</h4><a 
name="a.3CoutputDirectory.3E"></a></a>
-<div>The directory for compiled classes. 
-<p>This parameter should only be modified in special cases. One example is 
creating a multi-release jar with a lower bytecode level (i.e. setting it to 
<code>${project.build.outputDirectory</code>/META-INF/versions/21} or similar) 
in an additional execution.</p>
-<p>When the required bytecode level is available though an installed JDK or 
toolchain, it is recommended to use the <code>&lt;release&gt;</code> property 
in conjunction with the ${multiReleaseOutput} parameter instead.</p></div>
-<ul>
-<li><strong>Type</strong>: <code>java.io.File</code></li>
-<li><strong>Required</strong>: <code>report.plugin.goal.yes</code></li>
-<li><strong>User Property</strong>: 
<code>maven.compiler.outputDirectory</code></li>
-<li><strong>Default</strong>: 
<code>${project.build.outputDirectory}</code></li></ul><hr /></section><a 
name="outputFileName"><section>
-<h4><a name="a.3CoutputFileName.3E"></a>&lt;outputFileName&gt;</h4><a 
name="a.3CoutputFileName.3E"></a></a>
+<li><strong>Required</strong>: <code>No</code></li></ul><hr /></section><a 
name="outputFileName"></a><section>
+<h4><a name="a.3CoutputFileName.3E"></a>&lt;outputFileName&gt;</h4><a 
name="a.3CoutputFileName.3E"></a>
 <div>Sets the name of the output file when compiling a set of sources to a 
single file. 
 <p></p> expression="${project.build.finalName}"</div>
 <ul>
 <li><strong>Type</strong>: <code>java.lang.String</code></li>
-<li><strong>Required</strong>: <code>report.plugin.goal.no</code></li></ul><hr 
/></section><a name="outputTimestamp"><section>
-<h4><a name="a.3CoutputTimestamp.3E"></a>&lt;outputTimestamp&gt;</h4><a 
name="a.3CoutputTimestamp.3E"></a></a>
+<li><strong>Required</strong>: <code>No</code></li></ul><hr /></section><a 
name="outputTimestamp"></a><section>
+<h4><a name="a.3CoutputTimestamp.3E"></a>&lt;outputTimestamp&gt;</h4><a 
name="a.3CoutputTimestamp.3E"></a>
 <div>Timestamp for reproducible output archive entries, either formatted as 
ISO 8601 <code>yyyy-MM-dd'T'HH:mm:ssXXX</code> or as an int representing 
seconds since the epoch (like <a 
href="https://reproducible-builds.org/docs/source-date-epoch/";>SOURCE_DATE_EPOCH</a>).</div>
 <ul>
 <li><strong>Type</strong>: <code>java.lang.String</code></li>
 <li><strong>Since</strong>: <code>3.12.0</code></li>
-<li><strong>Required</strong>: <code>report.plugin.goal.no</code></li>
-<li><strong>Default</strong>: 
<code>${project.build.outputTimestamp}</code></li></ul><hr /></section><a 
name="parameters"><section>
-<h4><a name="a.3Cparameters.3E"></a>&lt;parameters&gt;</h4><a 
name="a.3Cparameters.3E"></a></a>
+<li><strong>Required</strong>: <code>No</code></li></ul><hr /></section><a 
name="parameters"></a><section>
+<h4><a name="a.3Cparameters.3E"></a>&lt;parameters&gt;</h4><a 
name="a.3Cparameters.3E"></a>
 <div>Set to <code>true</code> to generate metadata for reflection on method 
parameters.<br /><strong>See also:</strong> <a 
href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javac.html#option-parameters";>javac
 -parameters</a></div>
 <ul>
 <li><strong>Type</strong>: <code>boolean</code></li>
 <li><strong>Since</strong>: <code>3.6.2</code></li>
-<li><strong>Required</strong>: <code>report.plugin.goal.no</code></li>
-<li><strong>User Property</strong>: <code>maven.compiler.parameters</code></li>
-<li><strong>Default</strong>: <code>false</code></li></ul><hr /></section><a 
name="proc"><section>
-<h4><a name="a.3Cproc.3E"></a>&lt;proc&gt;</h4><a name="a.3Cproc.3E"></a></a>
+<li><strong>Required</strong>: <code>No</code></li></ul><hr /></section><a 
name="proc"></a><section>
+<h4><a name="a.3Cproc.3E"></a>&lt;proc&gt;</h4><a name="a.3Cproc.3E"></a>
 <div><p>Sets whether annotation processing is performed or not. Only applies 
to JDK 1.6+ If not set, both compilation and annotation processing are 
performed at the same time.</p>
 <p>Allowed values are:</p>
 <ul>
@@ -802,51 +719,40 @@
 <ul>
 <li><strong>Type</strong>: <code>java.lang.String</code></li>
 <li><strong>Since</strong>: <code>2.2</code></li>
-<li><strong>Required</strong>: <code>report.plugin.goal.no</code></li>
-<li><strong>User Property</strong>: 
<code>maven.compiler.proc</code></li></ul><hr /></section><a 
name="release"><section>
-<h4><a name="a.3Crelease.3E"></a>&lt;release&gt;</h4><a 
name="a.3Crelease.3E"></a></a>
+<li><strong>Required</strong>: <code>No</code></li></ul><hr /></section><a 
name="release"></a><section>
+<h4><a name="a.3Crelease.3E"></a>&lt;release&gt;</h4><a 
name="a.3Crelease.3E"></a>
 <div>The <code>-release</code> argument for the Java compiler, supported since 
Java9<br /><strong>See also:</strong> <a 
href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javac.html#option-release";>javac
 -release</a></div>
 <ul>
 <li><strong>Type</strong>: <code>java.lang.String</code></li>
 <li><strong>Since</strong>: <code>3.6</code></li>
-<li><strong>Required</strong>: <code>report.plugin.goal.no</code></li>
-<li><strong>User Property</strong>: 
<code>maven.compiler.release</code></li></ul><hr /></section><a 
name="showCompilationChanges"><section>
-<h4><a 
name="a.3CshowCompilationChanges.3E"></a>&lt;showCompilationChanges&gt;</h4><a 
name="a.3CshowCompilationChanges.3E"></a></a>
+<li><strong>Required</strong>: <code>No</code></li></ul><hr /></section><a 
name="showCompilationChanges"></a><section>
+<h4><a 
name="a.3CshowCompilationChanges.3E"></a>&lt;showCompilationChanges&gt;</h4><a 
name="a.3CshowCompilationChanges.3E"></a>
 <div>No description.</div>
 <ul>
 <li><strong>Type</strong>: <code>boolean</code></li>
-<li><strong>Required</strong>: <code>report.plugin.goal.no</code></li>
-<li><strong>User Property</strong>: 
<code>maven.compiler.showCompilationChanges</code></li>
-<li><strong>Default</strong>: <code>false</code></li></ul><hr /></section><a 
name="showDeprecation"><section>
-<h4><a name="a.3CshowDeprecation.3E"></a>&lt;showDeprecation&gt;</h4><a 
name="a.3CshowDeprecation.3E"></a></a>
+<li><strong>Required</strong>: <code>No</code></li></ul><hr /></section><a 
name="showDeprecation"></a><section>
+<h4><a name="a.3CshowDeprecation.3E"></a>&lt;showDeprecation&gt;</h4><a 
name="a.3CshowDeprecation.3E"></a>
 <div>Sets whether to show source locations where deprecated APIs are 
used.</div>
 <ul>
 <li><strong>Type</strong>: <code>boolean</code></li>
-<li><strong>Required</strong>: <code>report.plugin.goal.no</code></li>
-<li><strong>User Property</strong>: 
<code>maven.compiler.showDeprecation</code></li>
-<li><strong>Default</strong>: <code>false</code></li></ul><hr /></section><a 
name="showWarnings"><section>
-<h4><a name="a.3CshowWarnings.3E"></a>&lt;showWarnings&gt;</h4><a 
name="a.3CshowWarnings.3E"></a></a>
+<li><strong>Required</strong>: <code>No</code></li></ul><hr /></section><a 
name="showWarnings"></a><section>
+<h4><a name="a.3CshowWarnings.3E"></a>&lt;showWarnings&gt;</h4><a 
name="a.3CshowWarnings.3E"></a>
 <div>Set to <code>false</code> to disable warnings during compilation.</div>
 <ul>
 <li><strong>Type</strong>: <code>boolean</code></li>
-<li><strong>Required</strong>: <code>report.plugin.goal.no</code></li>
-<li><strong>User Property</strong>: 
<code>maven.compiler.showWarnings</code></li>
-<li><strong>Default</strong>: <code>true</code></li></ul><hr /></section><a 
name="skipMain"><section>
-<h4><a name="a.3CskipMain.3E"></a>&lt;skipMain&gt;</h4><a 
name="a.3CskipMain.3E"></a></a>
+<li><strong>Required</strong>: <code>No</code></li></ul><hr /></section><a 
name="skipMain"></a><section>
+<h4><a name="a.3CskipMain.3E"></a>&lt;skipMain&gt;</h4><a 
name="a.3CskipMain.3E"></a>
 <div>Set this to <code>true</code> to bypass compilation of main sources. Its 
use is NOT RECOMMENDED, but quite convenient on occasion.</div>
 <ul>
 <li><strong>Type</strong>: <code>boolean</code></li>
-<li><strong>Required</strong>: <code>report.plugin.goal.no</code></li>
-<li><strong>User Property</strong>: <code>maven.main.skip</code></li></ul><hr 
/></section><a name="skipMultiThreadWarning"><section>
-<h4><a 
name="a.3CskipMultiThreadWarning.3E"></a>&lt;skipMultiThreadWarning&gt;</h4><a 
name="a.3CskipMultiThreadWarning.3E"></a></a>
+<li><strong>Required</strong>: <code>No</code></li></ul><hr /></section><a 
name="skipMultiThreadWarning"></a><section>
+<h4><a 
name="a.3CskipMultiThreadWarning.3E"></a>&lt;skipMultiThreadWarning&gt;</h4><a 
name="a.3CskipMultiThreadWarning.3E"></a>
 <div>No description.</div>
 <ul>
 <li><strong>Type</strong>: <code>boolean</code></li>
 <li><strong>Since</strong>: <code>2.5</code></li>
-<li><strong>Required</strong>: <code>report.plugin.goal.no</code></li>
-<li><strong>User Property</strong>: 
<code>maven.compiler.skipMultiThreadWarning</code></li>
-<li><strong>Default</strong>: <code>false</code></li></ul><hr /></section><a 
name="source"><section>
-<h4><a name="a.3Csource.3E"></a>&lt;source&gt;</h4><a 
name="a.3Csource.3E"></a></a>
+<li><strong>Required</strong>: <code>No</code></li></ul><hr /></section><a 
name="source"></a><section>
+<h4><a name="a.3Csource.3E"></a>&lt;source&gt;</h4><a name="a.3Csource.3E"></a>
 <div><p>The <code>-source</code> argument for the Java compiler.</p>
 <p><b>NOTE: </b></p>
 <p>Since 3.8.0 the default value has changed from 1.5 to 1.6</p>
@@ -854,17 +760,13 @@
 <p>Since 3.11.0 the default value has changed from 1.7 to 1.8</p><br 
/><strong>See also:</strong> <a 
href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javac.html#option-source";>javac
 -source</a></div>
 <ul>
 <li><strong>Type</strong>: <code>java.lang.String</code></li>
-<li><strong>Required</strong>: <code>report.plugin.goal.no</code></li>
-<li><strong>User Property</strong>: <code>maven.compiler.source</code></li>
-<li><strong>Default</strong>: <code>1.8</code></li></ul><hr /></section><a 
name="staleMillis"><section>
-<h4><a name="a.3CstaleMillis.3E"></a>&lt;staleMillis&gt;</h4><a 
name="a.3CstaleMillis.3E"></a></a>
+<li><strong>Required</strong>: <code>No</code></li></ul><hr /></section><a 
name="staleMillis"></a><section>
+<h4><a name="a.3CstaleMillis.3E"></a>&lt;staleMillis&gt;</h4><a 
name="a.3CstaleMillis.3E"></a>
 <div>Sets the granularity in milliseconds of the last modification date for 
testing whether a source needs recompilation.</div>
 <ul>
 <li><strong>Type</strong>: <code>int</code></li>
-<li><strong>Required</strong>: <code>report.plugin.goal.no</code></li>
-<li><strong>User Property</strong>: <code>lastModGranularityMs</code></li>
-<li><strong>Default</strong>: <code>0</code></li></ul><hr /></section><a 
name="target"><section>
-<h4><a name="a.3Ctarget.3E"></a>&lt;target&gt;</h4><a 
name="a.3Ctarget.3E"></a></a>
+<li><strong>Required</strong>: <code>No</code></li></ul><hr /></section><a 
name="target"></a><section>
+<h4><a name="a.3Ctarget.3E"></a>&lt;target&gt;</h4><a name="a.3Ctarget.3E"></a>
 <div><p>The <code>-target</code> argument for the Java compiler.</p>
 <p><b>NOTE: </b></p>
 <p>Since 3.8.0 the default value has changed from 1.5 to 1.6</p>
@@ -872,10 +774,8 @@
 <p>Since 3.11.0 the default value has changed from 1.7 to 1.8</p><br 
/><strong>See also:</strong> <a 
href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javac.html#option-target";>javac
 -target</a></div>
 <ul>
 <li><strong>Type</strong>: <code>java.lang.String</code></li>
-<li><strong>Required</strong>: <code>report.plugin.goal.no</code></li>
-<li><strong>User Property</strong>: <code>maven.compiler.target</code></li>
-<li><strong>Default</strong>: <code>1.8</code></li></ul><hr /></section><a 
name="useIncrementalCompilation"><section>
-<h4><a 
name="a.3CuseIncrementalCompilation.3E"></a>&lt;useIncrementalCompilation&gt;</h4><a
 name="a.3CuseIncrementalCompilation.3E"></a></a>
+<li><strong>Required</strong>: <code>No</code></li></ul><hr /></section><a 
name="useIncrementalCompilation"></a><section>
+<h4><a 
name="a.3CuseIncrementalCompilation.3E"></a>&lt;useIncrementalCompilation&gt;</h4><a
 name="a.3CuseIncrementalCompilation.3E"></a>
 <div><p>to enable/disable incremental compilation feature.</p>
 <p>This leads to two different modes depending on the underlying compiler. The 
default javac compiler does the following:</p>
 <ul>
@@ -885,16 +785,12 @@
 <ul>
 <li><strong>Type</strong>: <code>boolean</code></li>
 <li><strong>Since</strong>: <code>3.1</code></li>
-<li><strong>Required</strong>: <code>report.plugin.goal.no</code></li>
-<li><strong>User Property</strong>: 
<code>maven.compiler.useIncrementalCompilation</code></li>
-<li><strong>Default</strong>: <code>true</code></li></ul><hr /></section><a 
name="verbose"><section>
-<h4><a name="a.3Cverbose.3E"></a>&lt;verbose&gt;</h4><a 
name="a.3Cverbose.3E"></a></a>
+<li><strong>Required</strong>: <code>No</code></li></ul><hr /></section><a 
name="verbose"></a><section>
+<h4><a name="a.3Cverbose.3E"></a>&lt;verbose&gt;</h4><a 
name="a.3Cverbose.3E"></a>
 <div>Set to <code>true</code> to show messages about what the compiler is 
doing.<br /><strong>See also:</strong> <a 
href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javac.html#option-verbose";>javac
 -verbose</a></div>
 <ul>
 <li><strong>Type</strong>: <code>boolean</code></li>
-<li><strong>Required</strong>: <code>report.plugin.goal.no</code></li>
-<li><strong>User Property</strong>: <code>maven.compiler.verbose</code></li>
-<li><strong>Default</strong>: 
<code>false</code></li></ul></section></section></section>
+<li><strong>Required</strong>: 
<code>No</code></li></ul></section></section></section>
         </main>
       </div>
     </div>


Reply via email to