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 Tue Feb 14 08:42:34 2023 @@ -1,68 +1,71 @@ <!DOCTYPE html> + + <!-- - | Generated by Apache Maven Doxia Site Renderer 1.8.1 from target/generated-site/xdoc/compile-mojo.xml at 2022-03-08 - | Rendered using Apache Maven Fluido Skin 1.7 + | Generated by Apache Maven Doxia Site Renderer 1.11.1 from target/generated-site/xdoc/compile-mojo.xml at 2023-02-14 + | Rendered using Apache Maven Fluido Skin 1.11.1 --> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en"> <head> <meta charset="UTF-8" /> - <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta name="Date-Revision-yyyymmdd" content="20220308" /> - <meta http-equiv="Content-Language" content="en" /> + <meta name="viewport" content="width=device-width, initial-scale=1" /> + <meta name="generator" content="Apache Maven Doxia Site Renderer 1.11.1" /> <title>Apache Maven Compiler Plugin – compiler:compile</title> - <link rel="stylesheet" href="./css/apache-maven-fluido-1.7.min.css" /> + <link rel="stylesheet" href="./css/apache-maven-fluido-1.11.1.min.css" /> <link rel="stylesheet" href="./css/site.css" /> <link rel="stylesheet" href="./css/print.css" media="print" /> - <script type="text/javascript" src="./js/apache-maven-fluido-1.7.min.js"></script> -<!-- Matomo --> -<script> - var _paq = window._paq = window._paq || []; - /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ - /* We explicitly disable cookie tracking to avoid privacy issues */ - _paq.push(['disableCookies']); - _paq.push(['trackPageView']); - _paq.push(['enableLinkTracking']); - (function() { - var u="//matomo.privacy.apache.org/"; - _paq.push(['setTrackerUrl', u+'matomo.php']); - _paq.push(['setSiteId', '3']); - var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; - g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); - })(); -</script> -<!-- End Matomo Code --> + <script src="./js/apache-maven-fluido-1.11.1.min.js"></script> + + <!-- Matomo --> + <script> + var _paq = window._paq = window._paq || []; + _paq.push(['disableCookies']); + _paq.push(['trackPageView']); + _paq.push(['enableLinkTracking']); + + (function() { + var u="https://analytics.apache.org/"; + _paq.push(['setTrackerUrl', u+'/matomo.php']); + _paq.push(['setSiteId', '3']); + var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; + g.async=true; g.src=u+'/matomo.js'; s.parentNode.insertBefore(g,s); + })(); + </script> + <!-- End Matomo Code --> </head> <body class="topBarDisabled"> <div class="container-fluid"> - <div id="banner"> - <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><img src="../../images/apache-maven-project.png" alt="Apache Maven Compiler Plugin"/></a></div> - <div class="pull-right"><a href="../../" id="bannerRight"><img src="../../images/maven-logo-black-on-white.png" alt=""/></a></div> - <div class="clear"><hr/></div> - </div> + <header> + <div id="banner"> + <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><img src="../../images/apache-maven-project.png" alt="Apache Maven Compiler Plugin" style="" /></a></div> + <div class="pull-right"><a href="../../" id="bannerRight"><img src="../../images/maven-logo-black-on-white.png" alt="" style="" /></a></div> + <div class="clear"><hr/></div> + </div> - <div id="breadcrumbs"> - <ul class="breadcrumb"> + <div id="breadcrumbs"> + <ul class="breadcrumb"> <li class=""><a href="https://www.apache.org/" class="externalLink" title="Apache">Apache</a><span class="divider">/</span></li> <li class=""><a href="../../index.html" title="Maven">Maven</a><span class="divider">/</span></li> <li class=""><a href="../index.html" title="Plugins">Plugins</a><span class="divider">/</span></li> <li class=""><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: 2022-03-08</li> - <li id="projectVersion" class="pull-right">Version: 3.10.1</li> - </ul> - </div> + <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2023-02-14</li> + <li id="projectVersion" class="pull-right">Version: 3.11.0</li> + </ul> + </div> + </header> <div class="row-fluid"> - <div id="leftColumn" class="span2"> - <div class="well sidebar-nav"> - <ul class="nav nav-list"> - <li class="nav-header">Overview</li> + <header id="leftColumn" class="span2"> + <nav class="well sidebar-nav"> + <ul class="nav nav-list"> + <li class="nav-header">Overview</li> <li><a href="index.html" title="Introduction"><span class="none"></span>Introduction</a></li> <li><a href="plugin-info.html" title="Goals"><span class="none"></span>Goals</a></li> <li><a href="usage.html" title="Usage"><span class="none"></span>Usage</a></li> <li><a href="faq.html" title="FAQ"><span class="none"></span>FAQ</a></li> <li><a href="http://www.apache.org/licenses/" class="externalLink" title="License"><span class="none"></span>License</a></li> <li><a href="download.html" title="Download"><span class="none"></span>Download</a></li> - <li class="nav-header">Examples</li> + <li class="nav-header">Examples</li> <li><a href="examples/compile-using-different-jdk.html" title="Compile Using A Different JDK"><span class="none"></span>Compile Using A Different JDK</a></li> <li><a href="examples/set-compiler-source-and-target.html" title="Compile Using -source and -target javac Options"><span class="none"></span>Compile Using -source and -target javac Options</a></li> <li><a href="examples/set-compiler-release.html" title="Compile Using the --release javac Option (JDK 9+)"><span class="none"></span>Compile Using the --release javac Option (JDK 9+)</a></li> @@ -71,13 +74,14 @@ <li><a href="non-javac-compilers.html" title="Non-javac compilerIds"><span class="none"></span>Non-javac compilerIds</a></li> <li><a href="examples/module-info.html" title="Older projects with module-info"><span class="none"></span>Older projects with module-info</a></li> <li><a href="multirelease.html" title="MultiRelease"><span class="none"></span>MultiRelease</a></li> - <li class="nav-header">Project Documentation</li> + <li class="nav-header">Project Documentation</li> <li><a href="project-info.html" title="Project Information"><span class="icon-chevron-right"></span>Project Information</a></li> <li><a href="project-reports.html" title="Project Reports"><span class="icon-chevron-right"></span>Project Reports</a></li> - <li class="nav-header">Maven Projects</li> + <li class="nav-header">Maven Projects</li> <li><a href="../../archetype/index.html" title="Archetype"><span class="none"></span>Archetype</a></li> <li><a href="../../resolver/index.html" title="Artifact Resolver"><span class="none"></span>Artifact Resolver</a></li> <li><a href="../../doxia/index.html" title="Doxia"><span class="none"></span>Doxia</a></li> + <li><a href="../../extensions/index.html" title="Extensions"><span class="none"></span>Extensions</a></li> <li><a href="../../jxr/index.html" title="JXR"><span class="none"></span>JXR</a></li> <li><a href="../../ref/current" title="Maven"><span class="none"></span>Maven</a></li> <li><a href="../../pom/index.html" title="Parent POMs"><span class="none"></span>Parent POMs</a></li> @@ -90,40 +94,32 @@ <li><a href="../../skins/index.html" title="Skins"><span class="none"></span>Skins</a></li> <li><a href="../../surefire/index.html" title="Surefire"><span class="none"></span>Surefire</a></li> <li><a href="../../wagon/index.html" title="Wagon"><span class="none"></span>Wagon</a></li> - <li class="nav-header">ASF</li> + <li class="nav-header">ASF</li> <li><a href="https://www.apache.org/foundation/how-it-works.html" class="externalLink" title="How Apache Works"><span class="none"></span>How Apache Works</a></li> <li><a href="https://www.apache.org/foundation/" class="externalLink" title="Foundation"><span class="none"></span>Foundation</a></li> + <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html" class="externalLink" title="Data Privacy"><span class="none"></span>Data Privacy</a></li> <li><a href="https://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsoring Apache"><span class="none"></span>Sponsoring Apache</a></li> <li><a href="https://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks"><span class="none"></span>Thanks</a></li> -</ul> -<form id="search-form" action="https://www.google.com/search" method="get" > - <input value="maven.apache.org/plugins/maven-compiler-plugin/" name="sitesearch" type="hidden"/> - <input class="search-query" name="q" id="query" type="text" /> -</form> -<script type="text/javascript">asyncJs( 'https://cse.google.com/brand?form=search-form' )</script> - <hr /> - <div id="poweredBy"> - <div class="clear"></div> - <div class="clear"></div> - <div id="twitter"> - <a href="https://twitter.com/ASFMavenProject" class="twitter-follow-button" data-show-count="false" data-align="left" data-size="medium" data-show-screen-name="true" data-lang="en">Follow ASFMavenProject</a> - <script type="text/javascript">!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script> - </div> - <div class="clear"></div> - <div class="clear"></div> + </ul> + </nav> + <div class="well sidebar-nav"> + <div id="poweredBy"> + <div class="clear"></div> + <div class="clear"></div> + <div class="clear"></div> <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a> </div> </div> - </div> - <div id="bodyColumn" class="span10" > + </header> + <main id="bodyColumn" class="span10" > - <div class="section"> + <section> <h2><a name="compiler:compile"></a>compiler:compile</h2> <p><b>Full name</b>:</p> -<p>org.apache.maven.plugins:maven-compiler-plugin:3.10.1:compile</p> +<p>org.apache.maven.plugins:maven-compiler-plugin:3.11.0:compile</p> <p><b>Description</b>:</p> @@ -135,16 +131,43 @@ <li>Requires a Maven project to be executed.</li> -<li>Requires dependency resolution of artifacts in scope: <tt>compile</tt>.</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>Since version: <tt>2.0</tt>.</li> +<li>Since version: <code>2.0</code>.</li> -<li>Binds by default to the <a class="externalLink" href="http://maven.apache.org/ref/current/maven-core/lifecycles.html">lifecycle phase</a>: <tt>compile</tt>.</li> +<li>Binds by default to the <a class="externalLink" href="http://maven.apache.org/ref/current/maven-core/lifecycles.html">lifecycle phase</a>: <code>compile</code>.</li> </ul> - -<div class="section"> + <section> +<h3><a name="Required_Parameters"></a>Required Parameters</h3> + +<table class="table table-striped" border="0"> + +<tr class="a"> + +<th>Name</th> + +<th>Type</th> + +<th>Since</th> + +<th>Description</th> + </tr> + +<tr class="b"> + +<td align="left"><code><a href="#compileSourceRoots"><compileSourceRoots></a></code></td> + +<td><code>List<String></code></td> + +<td><code>-</code></td> + +<td>The source directories containing the sources to be compiled.<br /><b>Default value is</b>: <code>${project.compileSourceRoots}</code>.<br /></td> + </tr> + </table> + </section> + <section> <h3><a name="Optional_Parameters"></a>Optional Parameters</h3> <table class="table table-striped" border="0"> @@ -162,70 +185,65 @@ <tr class="b"> -<td><tt><a href="#annotationProcessorPaths"><annotationProcessorPaths></a></tt></td> +<td align="left"><code><a href="#annotationProcessorPaths"><annotationProcessorPaths></a></code></td> -<td><tt>List</tt></td> +<td><code><a href="apidocs/org/apache/maven/plugin/compiler/DependencyCoordinate.html">List<DependencyCoordinate></a></code></td> -<td><tt>3.5</tt></td> +<td><code>3.5</code></td> <td> -<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 <tt>annotationProcessors</tt>.</p> - -<p>Each classpath element is specified using their Maven -coordinates (groupId, artifactId, version, classifier, type). -Transitive dependencies are added automatically. Example:</p> +<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> <div> -<pre> -<configuration> +<pre><configuration> <annotationProcessorPaths> <path> <groupId>org.sample</groupId> <artifactId>sample-annotation-processor</artifactId> <version>1.2.3</version> + <!-- Optionally exclude transitive dependencies --> + <exclusions> + <exclusion> + <groupId>org.sample</groupId> + <artifactId>sample-dependency</artifactId> + </exclusion> + </exclusions> </path> <!-- ... more ... --> </annotationProcessorPaths> </configuration> -</pre></div><br /></td> +</pre></div> <b>Note:</b> Exclusions are supported from version 3.11.0.<br /></td> </tr> <tr class="a"> -<td><tt><a href="#annotationProcessors"><annotationProcessors></a></tt></td> +<td align="left"><code><a href="#annotationProcessors"><annotationProcessors></a></code></td> -<td><tt>String[]</tt></td> +<td><code>String[]</code></td> -<td><tt>2.2</tt></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 /></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 /></td> </tr> <tr class="b"> -<td><tt><a href="#compilerArgs"><compilerArgs></a></tt></td> +<td align="left"><code><a href="#compilerArgs"><compilerArgs></a></code></td> -<td><tt>List</tt></td> +<td><code>List<String></code></td> -<td><tt>3.1</tt></td> +<td><code>3.1</code></td> <td> <p>Sets the arguments to be passed to the compiler.</p> -<p>Note that <tt>-J</tt> options are only passed through if -<tt>fork</tt> is set to <tt>true</tt>.</p> -Example: +<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: <div> -<pre> -<compilerArgs> +<pre><compilerArgs> <arg>-Xmaxerrs</arg> <arg>1000</arg> <arg>-Xlint</arg> @@ -236,293 +254,290 @@ Example: <tr class="a"> -<td><tt><a href="#compilerArgument"><compilerArgument></a></tt></td> +<td align="left"><code><a href="#compilerArgument"><compilerArgument></a></code></td> -<td><tt>String</tt></td> +<td><code>String</code></td> -<td><tt>2.0</tt></td> +<td><code>-</code></td> <td> -<p>Sets the unformatted single argument string to be passed to the -compiler. To pass multiple arguments such as <tt>-Xmaxerrs -1000</tt> (which are actually two arguments) you have to use -<tt>compilerArguments</tt>.</p> +<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="#compilerArguments"><code>compilerArguments</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>This is because the list of valid arguments passed to a Java compiler varies based on the compiler version.</p> -<p>Note that <tt>-J</tt> options are only passed through if -<tt>fork</tt> is set to <tt>true</tt>.</p><br /></td> +<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 /></td> </tr> <tr class="b"> -<td><tt><a href="#compilerArguments"><compilerArguments></a></tt></td> +<td align="left"><code><a href="#compilerArguments"><compilerArguments></a></code></td> -<td><tt>Map</tt></td> +<td><code>Map<String,String></code></td> -<td><tt>2.0.1</tt></td> +<td><code>2.0.1</code></td> -<td><b>Deprecated.</b> use <tt>compilerArgs</tt> instead.<br /></td> +<td><b>Deprecated.</b> +<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> + +<div> +<pre><compilerArguments> + <Xmaxerrs>1000</Xmaxerrs> + <Xlint/> + <Xlint:-path/> + <Averbose>true</Averbose> +</compilerArguments> +</pre></div><br /></td> </tr> <tr class="a"> -<td><tt><a href="#compilerId"><compilerId></a></tt></td> +<td align="left"><code><a href="#compilerId"><compilerId></a></code></td> -<td><tt>String</tt></td> +<td><code>String</code></td> -<td><tt>2.0</tt></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 /><b>Default value is</b>: <tt>javac</tt>.<br /><b>User property is</b>: <tt>maven.compiler.compilerId</tt>.<br /></td> +<td>The compiler id of the compiler to use. See this <a href="non-javac-compilers.html">guide</a> for more information.<br /><b>Default value is</b>: <code>javac</code>.<br /><b>User property is</b>: <code>maven.compiler.compilerId</code>.<br /></td> </tr> <tr class="b"> -<td><tt><a href="#compilerReuseStrategy"><compilerReuseStrategy></a></tt></td> +<td align="left"><code><a href="#compilerReuseStrategy"><compilerReuseStrategy></a></code></td> -<td><tt>String</tt></td> +<td><code>String</code></td> -<td><tt>2.5</tt></td> +<td><code>2.5</code></td> <td>Strategy to re use javacc class created: <ul> - -<li><tt>reuseCreated</tt> (default): will reuse already created -but in case of multi-threaded builds, each thread will have its own -instance</li> - -<li><tt>reuseSame</tt>: the same Javacc class will be used for -each compilation even for multi-threaded build</li> - -<li><tt>alwaysNew</tt>: 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 /><b>Default value is</b>: <tt>${reuseCreated}</tt>.<br /><b>User property is</b>: <tt>maven.compiler.compilerReuseStrategy</tt>.<br /></td> + +<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 /><b>Default value is</b>: <code>${reuseCreated}</code>.<br /><b>User property is</b>: <code>maven.compiler.compilerReuseStrategy</code>.<br /></td> </tr> <tr class="a"> -<td><tt><a href="#compilerVersion"><compilerVersion></a></tt></td> +<td align="left"><code><a href="#compilerVersion"><compilerVersion></a></code></td> -<td><tt>String</tt></td> +<td><code>String</code></td> -<td><tt>2.0</tt></td> +<td><code>-</code></td> -<td>Version of the compiler to use, ex. "1.3", "1.5", if -<tt>fork</tt> is set to <tt>true</tt>.<br /><b>User property is</b>: <tt>maven.compiler.compilerVersion</tt>.<br /></td> +<td>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 /><b>User property is</b>: <code>maven.compiler.compilerVersion</code>.<br /></td> </tr> <tr class="b"> -<td><tt><a href="#createMissingPackageInfoClass"><createMissingPackageInfoClass></a></tt></td> +<td align="left"><code><a href="#createMissingPackageInfoClass"><createMissingPackageInfoClass></a></code></td> -<td><tt>boolean</tt></td> +<td><code>boolean</code></td> -<td><tt>3.10</tt></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 -<tt>true</tt> causes an empty class file to be generated. This -behavior can be changed by setting this parameter to -<tt>false</tt>.<br /><b>Default value is</b>: <tt>true</tt>.<br /><b>User property is</b>: <tt>maven.compiler.createMissingPackageInfoClass</tt>.<br /></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 /><b>Default value is</b>: <code>true</code>.<br /><b>User property is</b>: <code>maven.compiler.createMissingPackageInfoClass</code>.<br /></td> </tr> <tr class="a"> -<td><tt><a href="#debug"><debug></a></tt></td> +<td align="left"><code><a href="#debug"><debug></a></code></td> -<td><tt>boolean</tt></td> +<td><code>boolean</code></td> -<td><tt>2.0</tt></td> +<td><code>-</code></td> -<td>Set to <tt>true</tt> to include debugging information in the -compiled class files.<br /><b>Default value is</b>: <tt>true</tt>.<br /><b>User property is</b>: <tt>maven.compiler.debug</tt>.<br /></td> +<td>Set to <code>true</code> to include debugging information in the compiled class files.<br /><b>Default value is</b>: <code>true</code>.<br /><b>User property is</b>: <code>maven.compiler.debug</code>.<br /></td> </tr> <tr class="b"> -<td><tt><a href="#debugFileName"><debugFileName></a></tt></td> +<td align="left"><code><a href="#debugFileName"><debugFileName></a></code></td> -<td><tt>String</tt></td> +<td><code>String</code></td> -<td><tt>3.10.0</tt></td> +<td><code>3.10.0</code></td> -<td>when forking and debug activated the commandline used will be -dumped in this file<br /><b>Default value is</b>: <tt>javac</tt>.<br /></td> +<td>when forking and debug activated the commandline used will be dumped in this file<br /><b>Default value is</b>: <code>javac</code>.<br /></td> </tr> <tr class="a"> -<td><tt><a href="#debuglevel"><debuglevel></a></tt></td> +<td align="left"><code><a href="#debuglevel"><debuglevel></a></code></td> -<td><tt>String</tt></td> +<td><code>String</code></td> -<td><tt>2.1</tt></td> +<td><code>2.1</code></td> -<td>Keyword list to be appended to the <tt>-g</tt> command-line -switch. Legal values are none or a comma-separated list of the -following keywords: <tt>lines</tt>, <tt>vars</tt>, and -<tt>source</tt>. If debug level is not specified, by default, -nothing will be appended to <tt>-g</tt>. If debug is not turned -on, this attribute will be ignored.<br /><b>User property is</b>: <tt>maven.compiler.debuglevel</tt>.<br /></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 debug is not turned on, this attribute will be ignored.<br /><b>User property is</b>: <code>maven.compiler.debuglevel</code>.<br /></td> </tr> <tr class="b"> -<td><tt><a href="#enablePreview"><enablePreview></a></tt></td> +<td align="left"><code><a href="#enablePreview"><enablePreview></a></code></td> -<td><tt>boolean</tt></td> +<td><code>boolean</code></td> -<td><tt>3.10.1</tt></td> +<td><code>3.10.1</code></td> -<td>Set to <tt>true</tt> to Enable preview language features of the -java compiler<br /><b>Default value is</b>: <tt>false</tt>.<br /><b>User property is</b>: <tt>maven.compiler.enablePreview</tt>.<br /></td> +<td>Set to <code>true</code> to Enable preview language features of the java compiler<br /><b>Default value is</b>: <code>false</code>.<br /><b>User property is</b>: <code>maven.compiler.enablePreview</code>.<br /></td> </tr> <tr class="a"> -<td><tt><a href="#encoding"><encoding></a></tt></td> +<td align="left"><code><a href="#encoding"><encoding></a></code></td> -<td><tt>String</tt></td> +<td><code>String</code></td> -<td><tt>2.1</tt></td> +<td><code>2.1</code></td> -<td>The -encoding argument for the Java compiler.<br /><b>Default value is</b>: <tt>${project.build.sourceEncoding}</tt>.<br /><b>User property is</b>: <tt>encoding</tt>.<br /></td> +<td>The -encoding argument for the Java compiler.<br /><b>Default value is</b>: <code>${project.build.sourceEncoding}</code>.<br /><b>User property is</b>: <code>encoding</code>.<br /></td> </tr> <tr class="b"> -<td><tt><a href="#excludes"><excludes></a></tt></td> +<td align="left"><code><a href="#excludes"><excludes></a></code></td> -<td><tt>Set</tt></td> +<td><code>Set<String></code></td> -<td><tt>2.0</tt></td> +<td><code>-</code></td> <td>A list of exclusion filters for the compiler.<br /></td> </tr> <tr class="a"> -<td><tt><a href="#executable"><executable></a></tt></td> +<td align="left"><code><a href="#executable"><executable></a></code></td> -<td><tt>String</tt></td> +<td><code>String</code></td> -<td><tt>2.0</tt></td> +<td><code>-</code></td> -<td>Sets the executable of the compiler to use when <tt>fork</tt> -is <tt>true</tt>.<br /><b>User property is</b>: <tt>maven.compiler.executable</tt>.<br /></td> +<td>Sets the executable of the compiler to use when <a href="#fork"><code>fork</code></a> is <code>true</code>.<br /><b>User property is</b>: <code>maven.compiler.executable</code>.<br /></td> </tr> <tr class="b"> -<td><tt><a href="#failOnError"><failOnError></a></tt></td> +<td align="left"><code><a href="#failOnError"><failOnError></a></code></td> -<td><tt>boolean</tt></td> +<td><code>boolean</code></td> -<td><tt>2.0.2</tt></td> +<td><code>2.0.2</code></td> -<td>Indicates whether the build will continue even if there are -compilation errors.<br /><b>Default value is</b>: <tt>true</tt>.<br /><b>User property is</b>: <tt>maven.compiler.failOnError</tt>.<br /></td> +<td>Indicates whether the build will continue even if there are compilation errors.<br /><b>Default value is</b>: <code>true</code>.<br /><b>User property is</b>: <code>maven.compiler.failOnError</code>.<br /></td> </tr> <tr class="a"> -<td><tt><a href="#failOnWarning"><failOnWarning></a></tt></td> +<td align="left"><code><a href="#failOnWarning"><failOnWarning></a></code></td> -<td><tt>boolean</tt></td> +<td><code>boolean</code></td> -<td><tt>3.6</tt></td> +<td><code>3.6</code></td> -<td>Indicates whether the build will continue even if there are -compilation warnings.<br /><b>Default value is</b>: <tt>false</tt>.<br /><b>User property is</b>: <tt>maven.compiler.failOnWarning</tt>.<br /></td> +<td>Indicates whether the build will continue even if there are compilation warnings.<br /><b>Default value is</b>: <code>false</code>.<br /><b>User property is</b>: <code>maven.compiler.failOnWarning</code>.<br /></td> </tr> <tr class="b"> -<td><tt><a href="#fileExtensions"><fileExtensions></a></tt></td> +<td align="left"><code><a href="#fileExtensions"><fileExtensions></a></code></td> -<td><tt>List</tt></td> +<td><code>List<String></code></td> -<td><tt>3.1</tt></td> +<td><code>3.1</code></td> -<td>File extensions to check timestamp for incremental build. Default -contains only <tt>class</tt> and <tt>jar</tt>.<br /></td> +<td>File extensions to check timestamp for incremental build. Default contains only <code>class</code> and <code>jar</code>.<br /></td> </tr> <tr class="a"> -<td><tt><a href="#forceJavacCompilerUse"><forceJavacCompilerUse></a></tt></td> +<td align="left"><code><a href="#forceJavacCompilerUse"><forceJavacCompilerUse></a></code></td> -<td><tt>boolean</tt></td> +<td><code>boolean</code></td> -<td><tt>3.0</tt></td> +<td><code>3.0</code></td> -<td>compiler can now use javax.tools if available in your current jdk, -you can disable this feature using --Dmaven.compiler.forceJavacCompilerUse=true or in the plugin -configuration<br /><b>Default value is</b>: <tt>false</tt>.<br /><b>User property is</b>: <tt>maven.compiler.forceJavacCompilerUse</tt>.<br /></td> +<td>compiler can now use javax.tools if available in your current jdk, you can disable this feature using -Dmaven.compiler.forceJavacCompilerUse=true or in the plugin configuration<br /><b>Default value is</b>: <code>false</code>.<br /><b>User property is</b>: <code>maven.compiler.forceJavacCompilerUse</code>.<br /></td> </tr> <tr class="b"> -<td><tt><a href="#fork"><fork></a></tt></td> +<td align="left"><code><a href="#fork"><fork></a></code></td> -<td><tt>boolean</tt></td> +<td><code>boolean</code></td> -<td><tt>2.0</tt></td> +<td><code>-</code></td> -<td>Allows running the compiler in a separate process. If -<tt>false</tt> it uses the built in compiler, while if -<tt>true</tt> it will use an executable.<br /><b>Default value is</b>: <tt>false</tt>.<br /><b>User property is</b>: <tt>maven.compiler.fork</tt>.<br /></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 /><b>Default value is</b>: <code>false</code>.<br /><b>User property is</b>: <code>maven.compiler.fork</code>.<br /></td> </tr> <tr class="a"> -<td><tt><a href="#generatedSourcesDirectory"><generatedSourcesDirectory></a></tt></td> +<td align="left"><code><a href="#generatedSourcesDirectory"><generatedSourcesDirectory></a></code></td> -<td><tt>File</tt></td> +<td><code>File</code></td> -<td><tt>2.2</tt></td> +<td><code>2.2</code></td> <td> -<p>Specify where to place generated source files created by -annotation processing. Only applies to JDK 1.6+</p><br /><b>Default value is</b>: <tt>${project.build.directory}/generated-sources/annotations</tt>.<br /></td> +<p>Specify where to place generated source files created by annotation processing. Only applies to JDK 1.6+</p><br /><b>Default value is</b>: <code>${project.build.directory}/generated-sources/annotations</code>.<br /></td> </tr> <tr class="b"> -<td><tt><a href="#includes"><includes></a></tt></td> +<td align="left"><code><a href="#implicit"><implicit></a></code></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 /><b>User property is</b>: <code>maven.compiler.implicit</code>.<br /></td> + </tr> + +<tr class="a"> + +<td align="left"><code><a href="#includes"><includes></a></code></td> -<td><tt>Set</tt></td> +<td><code>Set<String></code></td> -<td><tt>2.0</tt></td> +<td><code>-</code></td> <td>A list of inclusion filters for the compiler.<br /></td> </tr> +<tr class="b"> + +<td align="left"><code><a href="#incrementalExcludes"><incrementalExcludes></a></code></td> + +<td><code>Set<String></code></td> + +<td><code>3.11</code></td> + +<td>A list of exclusion filters for the incremental calculation.<br /></td> + </tr> + <tr class="a"> -<td><tt><a href="#jdkToolchain"><jdkToolchain></a></tt></td> +<td align="left"><code><a href="#jdkToolchain"><jdkToolchain></a></code></td> -<td><tt>Map</tt></td> +<td><code>Map<String,String></code></td> -<td><tt>3.6</tt></td> +<td><code>3.6</code></td> <td> -<p>Specify the requirements for this jdk toolchain for using a -different <tt>javac</tt> than the one of the JRE used by Maven. -This overrules the toolchain selected by the <a class="externalLink" href="https://maven.apache.org/plugins/maven-toolchains-plugin/">maven-toolchain-plugin</a>.</p> -(see <a class="externalLink" href="https://maven.apache.org/guides/mini/guide-using-toolchains.html">Guide -to Toolchains</a> for more info) +<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 class="externalLink" href="https://maven.apache.org/plugins/maven-toolchains-plugin/">maven-toolchain-plugin</a>.</p> (see <a class="externalLink" href="https://maven.apache.org/guides/mini/guide-using-toolchains.html"> Guide to Toolchains</a> for more info) <div> -<pre> -<configuration> +<pre><configuration> <jdkToolchain> <version>11</version> </jdkToolchain> @@ -536,323 +551,309 @@ to Toolchains</a> for more info) </jdkToolchain> ... </configuration> -</pre></div> - -<b>note:</b> requires at least Maven 3.3.1<br /></td> +</pre></div> <b>note:</b> requires at least Maven 3.3.1<br /></td> </tr> <tr class="b"> -<td><tt><a href="#maxmem"><maxmem></a></tt></td> +<td align="left"><code><a href="#maxmem"><maxmem></a></code></td> -<td><tt>String</tt></td> +<td><code>String</code></td> -<td><tt>2.0.1</tt></td> +<td><code>2.0.1</code></td> -<td>Sets the maximum size, in megabytes, of the memory allocation pool, -ex. "128", "128m" if <tt>fork</tt> is set to <tt>true</tt>.<br /><b>User property is</b>: <tt>maven.compiler.maxmem</tt>.<br /></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 /><b>User property is</b>: <code>maven.compiler.maxmem</code>.<br /></td> </tr> <tr class="a"> -<td><tt><a href="#meminitial"><meminitial></a></tt></td> +<td align="left"><code><a href="#meminitial"><meminitial></a></code></td> -<td><tt>String</tt></td> +<td><code>String</code></td> -<td><tt>2.0.1</tt></td> +<td><code>2.0.1</code></td> -<td>Initial size, in megabytes, of the memory allocation pool, ex. -"64", "64m" if <tt>fork</tt> is set to <tt>true</tt>.<br /><b>User property is</b>: <tt>maven.compiler.meminitial</tt>.<br /></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 /><b>User property is</b>: <code>maven.compiler.meminitial</code>.<br /></td> </tr> <tr class="b"> -<td><tt><a href="#multiReleaseOutput"><multiReleaseOutput></a></tt></td> +<td align="left"><code><a href="#multiReleaseOutput"><multiReleaseOutput></a></code></td> -<td><tt>boolean</tt></td> +<td><code>boolean</code></td> -<td><tt>3.7.1</tt></td> +<td><code>3.7.1</code></td> <td> -<p>When set to <tt>true</tt>, the classes will be placed in -<tt>META-INF/versions/${release}</tt> The release value must be -set, otherwise the plugin will fail.</p> -<b>Note:</b> A jar is only a multirelease jar if -<tt>META-INF/MANIFEST.MF</tt> contains <tt>Multi-Release: -true</tt>. You need to set this by configuring the <a class="externalLink" 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.<br /></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> <b>Note: </b> 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 class="externalLink" 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.<br /></td> </tr> <tr class="a"> -<td><tt><a href="#optimize"><optimize></a></tt></td> +<td align="left"><code><a href="#optimize"><optimize></a></code></td> -<td><tt>boolean</tt></td> +<td><code>boolean</code></td> -<td><tt>2.0</tt></td> +<td><code>-</code></td> -<td><b>Deprecated.</b> This property is a no-op in <tt>javac</tt>.<br /><b>Default value is</b>: <tt>false</tt>.<br /><b>User property is</b>: <tt>maven.compiler.optimize</tt>.<br /></td> +<td><b>Deprecated.</b> Set to <code>true</code> to optimize the compiled code using the compiler's optimization methods.<br /><b>Default value is</b>: <code>false</code>.<br /><b>User property is</b>: <code>maven.compiler.optimize</code>.<br /></td> </tr> <tr class="b"> -<td><tt><a href="#outputFileName"><outputFileName></a></tt></td> +<td align="left"><code><a href="#outputFileName"><outputFileName></a></code></td> -<td><tt>String</tt></td> +<td><code>String</code></td> -<td><tt>2.0</tt></td> +<td><code>-</code></td> -<td>Sets the name of the output file when compiling a set of sources to -a single file. expression="${project.build.finalName}"<br /></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}"<br /></td> </tr> <tr class="a"> -<td><tt><a href="#parameters"><parameters></a></tt></td> +<td align="left"><code><a href="#parameters"><parameters></a></code></td> -<td><tt>boolean</tt></td> +<td><code>boolean</code></td> -<td><tt>3.6.2</tt></td> +<td><code>3.6.2</code></td> -<td>Set to <tt>true</tt> to generate metadata for reflection on -method parameters.<br /><b>Default value is</b>: <tt>false</tt>.<br /><b>User property is</b>: <tt>maven.compiler.parameters</tt>.<br /></td> +<td>Set to <code>true</code> to generate metadata for reflection on method parameters.<br /><b>Default value is</b>: <code>false</code>.<br /><b>User property is</b>: <code>maven.compiler.parameters</code>.<br /></td> </tr> <tr class="b"> -<td><tt><a href="#proc"><proc></a></tt></td> +<td align="left"><code><a href="#proc"><proc></a></code></td> -<td><tt>String</tt></td> +<td><code>String</code></td> -<td><tt>2.2</tt></td> +<td><code>2.2</code></td> <td> -<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>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> - -<li><tt>none</tt> - no annotation processing is performed.</li> - -<li><tt>only</tt> - only annotation processing is done, no -compilation.</li> + +<li><code>none</code> - no annotation processing is performed.</li> + +<li><code>only</code> - only annotation processing is done, no compilation.</li> </ul><br /></td> </tr> <tr class="a"> -<td><tt><a href="#release"><release></a></tt></td> +<td align="left"><code><a href="#release"><release></a></code></td> -<td><tt>String</tt></td> +<td><code>String</code></td> -<td><tt>3.6</tt></td> +<td><code>3.6</code></td> -<td>The -release argument for the Java compiler, supported since Java9<br /><b>User property is</b>: <tt>maven.compiler.release</tt>.<br /></td> +<td>The -release argument for the Java compiler, supported since Java9<br /><b>User property is</b>: <code>maven.compiler.release</code>.<br /></td> </tr> <tr class="b"> -<td><tt><a href="#showDeprecation"><showDeprecation></a></tt></td> +<td align="left"><code><a href="#showCompilationChanges"><showCompilationChanges></a></code></td> -<td><tt>boolean</tt></td> +<td><code>boolean</code></td> -<td><tt>2.0</tt></td> +<td><code>-</code></td> -<td>Sets whether to show source locations where deprecated APIs are -used.<br /><b>Default value is</b>: <tt>false</tt>.<br /><b>User property is</b>: <tt>maven.compiler.showDeprecation</tt>.<br /></td> +<td>(no description)<br /><b>Default value is</b>: <code>false</code>.<br /><b>User property is</b>: <code>maven.compiler.showCompilationChanges</code>.<br /></td> </tr> <tr class="a"> -<td><tt><a href="#showWarnings"><showWarnings></a></tt></td> +<td align="left"><code><a href="#showDeprecation"><showDeprecation></a></code></td> -<td><tt>boolean</tt></td> +<td><code>boolean</code></td> -<td><tt>2.0</tt></td> +<td><code>-</code></td> -<td>Set to <tt>true</tt> to show compilation warnings.<br /><b>Default value is</b>: <tt>false</tt>.<br /><b>User property is</b>: <tt>maven.compiler.showWarnings</tt>.<br /></td> +<td>Sets whether to show source locations where deprecated APIs are used.<br /><b>Default value is</b>: <code>false</code>.<br /><b>User property is</b>: <code>maven.compiler.showDeprecation</code>.<br /></td> </tr> <tr class="b"> -<td><tt><a href="#skipMain"><skipMain></a></tt></td> +<td align="left"><code><a href="#showWarnings"><showWarnings></a></code></td> -<td><tt>boolean</tt></td> +<td><code>boolean</code></td> -<td><tt>2.0</tt></td> +<td><code>-</code></td> -<td>Set this to 'true' to bypass compilation of main sources. Its use -is NOT RECOMMENDED, but quite convenient on occasion.<br /><b>User property is</b>: <tt>maven.main.skip</tt>.<br /></td> +<td>Set to <code>false</code> to disable warnings during compilation.<br /><b>Default value is</b>: <code>true</code>.<br /><b>User property is</b>: <code>maven.compiler.showWarnings</code>.<br /></td> </tr> <tr class="a"> -<td><tt><a href="#skipMultiThreadWarning"><skipMultiThreadWarning></a></tt></td> +<td align="left"><code><a href="#skipMain"><skipMain></a></code></td> -<td><tt>boolean</tt></td> +<td><code>boolean</code></td> -<td><tt>2.5</tt></td> +<td><code>-</code></td> -<td>(no description)<br /><b>Default value is</b>: <tt>false</tt>.<br /><b>User property is</b>: <tt>maven.compiler.skipMultiThreadWarning</tt>.<br /></td> +<td>Set this to 'true' to bypass compilation of main sources. Its use is NOT RECOMMENDED, but quite convenient on occasion.<br /><b>User property is</b>: <code>maven.main.skip</code>.<br /></td> </tr> <tr class="b"> -<td><tt><a href="#source"><source></a></tt></td> +<td align="left"><code><a href="#skipMultiThreadWarning"><skipMultiThreadWarning></a></code></td> -<td><tt>String</tt></td> +<td><code>boolean</code></td> -<td><tt>2.0</tt></td> +<td><code>2.5</code></td> -<td> -<p>The -source argument for the Java compiler.</p> -<b>NOTE:</b> Since 3.8.0 the default value has changed from 1.5 to -1.6. Since 3.9.0 the default value has changed from 1.6 to 1.7<br /><b>Default value is</b>: <tt>1.7</tt>.<br /><b>User property is</b>: <tt>maven.compiler.source</tt>.<br /></td> +<td>(no description)<br /><b>Default value is</b>: <code>false</code>.<br /><b>User property is</b>: <code>maven.compiler.skipMultiThreadWarning</code>.<br /></td> </tr> <tr class="a"> -<td><tt><a href="#staleMillis"><staleMillis></a></tt></td> +<td align="left"><code><a href="#source"><source></a></code></td> -<td><tt>int</tt></td> +<td><code>String</code></td> -<td><tt>2.0</tt></td> +<td><code>-</code></td> -<td>Sets the granularity in milliseconds of the last modification date -for testing whether a source needs recompilation.<br /><b>Default value is</b>: <tt>0</tt>.<br /><b>User property is</b>: <tt>lastModGranularityMs</tt>.<br /></td> +<td> +<p>The -source 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> + +<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 /><b>Default value is</b>: <code>1.8</code>.<br /><b>User property is</b>: <code>maven.compiler.source</code>.<br /></td> </tr> <tr class="b"> -<td><tt><a href="#target"><target></a></tt></td> +<td align="left"><code><a href="#staleMillis"><staleMillis></a></code></td> -<td><tt>String</tt></td> +<td><code>int</code></td> -<td><tt>2.0</tt></td> +<td><code>-</code></td> -<td> -<p>The -target argument for the Java compiler.</p> -<b>NOTE:</b> Since 3.8.0 the default value has changed from 1.5 to -1.6. Since 3.9.0 the default value has changed from 1.6 to 1.7<br /><b>Default value is</b>: <tt>1.7</tt>.<br /><b>User property is</b>: <tt>maven.compiler.target</tt>.<br /></td> +<td>Sets the granularity in milliseconds of the last modification date for testing whether a source needs recompilation.<br /><b>Default value is</b>: <code>0</code>.<br /><b>User property is</b>: <code>lastModGranularityMs</code>.<br /></td> </tr> <tr class="a"> -<td><tt><a href="#useIncrementalCompilation"><useIncrementalCompilation></a></tt></td> +<td align="left"><code><a href="#target"><target></a></code></td> -<td><tt>boolean</tt></td> +<td><code>String</code></td> -<td><tt>3.1</tt></td> +<td><code>-</code></td> <td> -<p>to enable/disable incremental compilation feature.</p> +<p>The -target argument for the Java compiler.</p> -<p>This leads to two different modes depending on the underlying -compiler. The default javac compiler does the following:</p> +<p><b>NOTE: </b></p> -<ul> +<p>Since 3.8.0 the default value has changed from 1.5 to 1.6</p> -<li>true <b>(default)</b> 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> +<p>Since 3.9.0 the default value has changed from 1.6 to 1.7</p> -<li>false <b>(not recommended)</b> 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 /><b>Default value is</b>: <tt>true</tt>.<br /><b>User property is</b>: <tt>maven.compiler.useIncrementalCompilation</tt>.<br /></td> +<p>Since 3.11.0 the default value has changed from 1.7 to 1.8</p><br /><b>Default value is</b>: <code>1.8</code>.<br /><b>User property is</b>: <code>maven.compiler.target</code>.<br /></td> </tr> <tr class="b"> -<td><tt><a href="#verbose"><verbose></a></tt></td> +<td align="left"><code><a href="#useIncrementalCompilation"><useIncrementalCompilation></a></code></td> -<td><tt>boolean</tt></td> +<td><code>boolean</code></td> -<td><tt>2.0</tt></td> +<td><code>3.1</code></td> -<td>Set to <tt>true</tt> to show messages about what the compiler -is doing.<br /><b>Default value is</b>: <tt>false</tt>.<br /><b>User property is</b>: <tt>maven.compiler.verbose</tt>.<br /></td> +<td> +<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> + +<li>true <b>(default)</b> 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 <b>(not recommended)</b> 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 /><b>Default value is</b>: <code>true</code>.<br /><b>User property is</b>: <code>maven.compiler.useIncrementalCompilation</code>.<br /></td> + </tr> + +<tr class="a"> + +<td align="left"><code><a href="#verbose"><verbose></a></code></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 /><b>Default value is</b>: <code>false</code>.<br /><b>User property is</b>: <code>maven.compiler.verbose</code>.<br /></td> </tr> </table> - </div> - -<div class="section"> + </section> + <section> <h3><a name="Parameter_Details"></a>Parameter Details</h3> - -<div class="section"> + <section> <h4><a name="a.3CannotationProcessorPaths.3E"></a><b><a name="annotationProcessorPaths"><annotationProcessorPaths></a></b></h4> <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 <tt>annotationProcessors</tt>.</p> - -<p>Each classpath element is specified using their Maven -coordinates (groupId, artifactId, version, classifier, type). -Transitive dependencies are added automatically. Example:</p> +<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> <div> -<pre> -<configuration> +<pre><configuration> <annotationProcessorPaths> <path> <groupId>org.sample</groupId> <artifactId>sample-annotation-processor</artifactId> <version>1.2.3</version> + <!-- Optionally exclude transitive dependencies --> + <exclusions> + <exclusion> + <groupId>org.sample</groupId> + <artifactId>sample-dependency</artifactId> + </exclusion> + </exclusions> </path> <!-- ... more ... --> </annotationProcessorPaths> </configuration> -</pre></div></div> +</pre></div> <b>Note:</b> Exclusions are supported from version 3.11.0.</div> <ul> -<li><b>Type</b>: <tt>java.util.List</tt></li> +<li><b>Type</b>: <code><a href="apidocs/org/apache/maven/plugin/compiler/DependencyCoordinate.html">java.util.List<org.apache.maven.plugin.compiler.DependencyCoordinate></a></code></li> -<li><b>Since</b>: <tt>3.5</tt></li> +<li><b>Since</b>: <code>3.5</code></li> -<li><b>Required</b>: <tt>No</tt></li> - </ul><hr /></div> -<div class="section"> +<li><b>Required</b>: <code>No</code></li> + </ul><hr /></section><section> <h4><a name="a.3CannotationProcessors.3E"></a><b><a name="annotationProcessors"><annotationProcessors></a></b></h4> <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></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></div> <ul> -<li><b>Type</b>: <tt>java.lang.String[]</tt></li> +<li><b>Type</b>: <code>java.lang.String[]</code></li> -<li><b>Since</b>: <tt>2.2</tt></li> +<li><b>Since</b>: <code>2.2</code></li> -<li><b>Required</b>: <tt>No</tt></li> - </ul><hr /></div> -<div class="section"> +<li><b>Required</b>: <code>No</code></li> + </ul><hr /></section><section> <h4><a name="a.3CcompilerArgs.3E"></a><b><a name="compilerArgs"><compilerArgs></a></b></h4> <div> <p>Sets the arguments to be passed to the compiler.</p> -<p>Note that <tt>-J</tt> options are only passed through if -<tt>fork</tt> is set to <tt>true</tt>.</p> -Example: +<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: <div> -<pre> -<compilerArgs> +<pre><compilerArgs> <arg>-Xmaxerrs</arg> <arg>1000</arg> <arg>-Xlint</arg> @@ -862,56 +863,42 @@ Example: <ul> -<li><b>Type</b>: <tt>java.util.List</tt></li> +<li><b>Type</b>: <code>java.util.List<java.lang.String></code></li> -<li><b>Since</b>: <tt>3.1</tt></li> +<li><b>Since</b>: <code>3.1</code></li> -<li><b>Required</b>: <tt>No</tt></li> - </ul><hr /></div> -<div class="section"> +<li><b>Required</b>: <code>No</code></li> + </ul><hr /></section><section> <h4><a name="a.3CcompilerArgument.3E"></a><b><a name="compilerArgument"><compilerArgument></a></b></h4> <div> -<p>Sets the unformatted single argument string to be passed to the -compiler. To pass multiple arguments such as <tt>-Xmaxerrs -1000</tt> (which are actually two arguments) you have to use -<tt>compilerArguments</tt>.</p> +<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="#compilerArguments"><code>compilerArguments</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>This is because the list of valid arguments passed to a Java compiler varies based on the compiler version.</p> -<p>Note that <tt>-J</tt> options are only passed through if -<tt>fork</tt> is set to <tt>true</tt>.</p></div> +<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></div> <ul> -<li><b>Type</b>: <tt>java.lang.String</tt></li> +<li><b>Type</b>: <code>java.lang.String</code></li> -<li><b>Since</b>: <tt>2.0</tt></li> - -<li><b>Required</b>: <tt>No</tt></li> - </ul><hr /></div> -<div class="section"> +<li><b>Required</b>: <code>No</code></li> + </ul><hr /></section><section> <h4><a name="a.3CcompilerArguments.3E"></a><b><a name="compilerArguments"><compilerArguments></a></b></h4> -<div><b>Deprecated.</b> use <tt>compilerArgs</tt> instead.</div> +<div><b>Deprecated.</b> 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>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>This is because the list of valid arguments passed to a Java compiler varies based on the compiler version.</p> -<p>Note that <tt>-J</tt> options are only passed through if -<tt>fork</tt> is set to <tt>true</tt>.</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 <tt>-Xmaxerrs 1000 -Xlint -Xlint:-path --Averbose=true</tt> you should include the following:</p> +<p>To pass <code>-Xmaxerrs 1000 -Xlint -Xlint:-path -Averbose=true</code> you should include the following:</p> <div> -<pre> -<compilerArguments> +<pre><compilerArguments> <Xmaxerrs>1000</Xmaxerrs> <Xlint/> <Xlint:-path/> @@ -921,350 +908,319 @@ compiler varies based on the compiler ve <ul> -<li><b>Type</b>: <tt>java.util.Map</tt></li> +<li><b>Type</b>: <code>java.util.Map<java.lang.String, java.lang.String></code></li> -<li><b>Since</b>: <tt>2.0.1</tt></li> +<li><b>Since</b>: <code>2.0.1</code></li> -<li><b>Required</b>: <tt>No</tt></li> - </ul><hr /></div> -<div class="section"> +<li><b>Required</b>: <code>No</code></li> + </ul><hr /></section><section> <h4><a name="a.3CcompilerId.3E"></a><b><a name="compilerId"><compilerId></a></b></h4> <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><b>Type</b>: <tt>java.lang.String</tt></li> - -<li><b>Since</b>: <tt>2.0</tt></li> +<li><b>Type</b>: <code>java.lang.String</code></li> -<li><b>Required</b>: <tt>No</tt></li> +<li><b>Required</b>: <code>No</code></li> -<li><b>User Property</b>: <tt>maven.compiler.compilerId</tt></li> +<li><b>User Property</b>: <code>maven.compiler.compilerId</code></li> -<li><b>Default</b>: <tt>javac</tt></li> - </ul><hr /></div> -<div class="section"> +<li><b>Default</b>: <code>javac</code></li> + </ul><hr /></section><section> <h4><a name="a.3CcompilerReuseStrategy.3E"></a><b><a name="compilerReuseStrategy"><compilerReuseStrategy></a></b></h4> <div>Strategy to re use javacc class created: <ul> - -<li><tt>reuseCreated</tt> (default): will reuse already created -but in case of multi-threaded builds, each thread will have its own -instance</li> - -<li><tt>reuseSame</tt>: the same Javacc class will be used for -each compilation even for multi-threaded build</li> - -<li><tt>alwaysNew</tt>: 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.</div> + +<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.</div> <ul> -<li><b>Type</b>: <tt>java.lang.String</tt></li> +<li><b>Type</b>: <code>java.lang.String</code></li> -<li><b>Since</b>: <tt>2.5</tt></li> +<li><b>Since</b>: <code>2.5</code></li> -<li><b>Required</b>: <tt>No</tt></li> +<li><b>Required</b>: <code>No</code></li> -<li><b>User Property</b>: <tt>maven.compiler.compilerReuseStrategy</tt></li> +<li><b>User Property</b>: <code>maven.compiler.compilerReuseStrategy</code></li> -<li><b>Default</b>: <tt>${reuseCreated}</tt></li> - </ul><hr /></div> -<div class="section"> +<li><b>Default</b>: <code>${reuseCreated}</code></li> + </ul><hr /></section><section> <h4><a name="a.3CcompilerVersion.3E"></a><b><a name="compilerVersion"><compilerVersion></a></b></h4> -<div>Version of the compiler to use, ex. "1.3", "1.5", if -<tt>fork</tt> is set to <tt>true</tt>.</div> +<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><b>Type</b>: <tt>java.lang.String</tt></li> +<li><b>Type</b>: <code>java.lang.String</code></li> + +<li><b>Required</b>: <code>No</code></li> + +<li><b>User Property</b>: <code>maven.compiler.compilerVersion</code></li> + </ul><hr /></section><section> +<h4><a name="a.3CcompileSourceRoots.3E"></a><b><a name="compileSourceRoots"><compileSourceRoots></a></b></h4> + +<div>The source directories containing the sources to be compiled.</div> + +<ul> -<li><b>Since</b>: <tt>2.0</tt></li> +<li><b>Type</b>: <code>java.util.List<java.lang.String></code></li> -<li><b>Required</b>: <tt>No</tt></li> +<li><b>Required</b>: <code>Yes</code></li> -<li><b>User Property</b>: <tt>maven.compiler.compilerVersion</tt></li> - </ul><hr /></div> -<div class="section"> +<li><b>Default</b>: <code>${project.compileSourceRoots}</code></li> + </ul><hr /></section><section> <h4><a name="a.3CcreateMissingPackageInfoClass.3E"></a><b><a name="createMissingPackageInfoClass"><createMissingPackageInfoClass></a></b></h4> -<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 -<tt>true</tt> causes an empty class file to be generated. This -behavior can be changed by setting this parameter to -<tt>false</tt>.</div> +<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><b>Type</b>: <tt>boolean</tt></li> +<li><b>Type</b>: <code>boolean</code></li> -<li><b>Since</b>: <tt>3.10</tt></li> +<li><b>Since</b>: <code>3.10</code></li> -<li><b>Required</b>: <tt>No</tt></li> +<li><b>Required</b>: <code>No</code></li> -<li><b>User Property</b>: <tt>maven.compiler.createMissingPackageInfoClass</tt></li> +<li><b>User Property</b>: <code>maven.compiler.createMissingPackageInfoClass</code></li> -<li><b>Default</b>: <tt>true</tt></li> - </ul><hr /></div> -<div class="section"> +<li><b>Default</b>: <code>true</code></li> + </ul><hr /></section><section> <h4><a name="a.3Cdebug.3E"></a><b><a name="debug"><debug></a></b></h4> -<div>Set to <tt>true</tt> to include debugging information in the -compiled class files.</div> +<div>Set to <code>true</code> to include debugging information in the compiled class files.</div> <ul> -<li><b>Type</b>: <tt>boolean</tt></li> +<li><b>Type</b>: <code>boolean</code></li> -<li><b>Since</b>: <tt>2.0</tt></li> +<li><b>Required</b>: <code>No</code></li> -<li><b>Required</b>: <tt>No</tt></li> +<li><b>User Property</b>: <code>maven.compiler.debug</code></li> -<li><b>User Property</b>: <tt>maven.compiler.debug</tt></li> - -<li><b>Default</b>: <tt>true</tt></li> - </ul><hr /></div> -<div class="section"> +<li><b>Default</b>: <code>true</code></li> + </ul><hr /></section><section> <h4><a name="a.3CdebugFileName.3E"></a><b><a name="debugFileName"><debugFileName></a></b></h4> -<div>when forking and debug activated the commandline used will be -dumped in this file</div> +<div>when forking and debug activated the commandline used will be dumped in this file</div> <ul> -<li><b>Type</b>: <tt>java.lang.String</tt></li> +<li><b>Type</b>: <code>java.lang.String</code></li> -<li><b>Since</b>: <tt>3.10.0</tt></li> +<li><b>Since</b>: <code>3.10.0</code></li> -<li><b>Required</b>: <tt>No</tt></li> +<li><b>Required</b>: <code>No</code></li> -<li><b>Default</b>: <tt>javac</tt></li> - </ul><hr /></div> -<div class="section"> +<li><b>Default</b>: <code>javac</code></li> + </ul><hr /></section><section> <h4><a name="a.3Cdebuglevel.3E"></a><b><a name="debuglevel"><debuglevel></a></b></h4> -<div>Keyword list to be appended to the <tt>-g</tt> command-line -switch. Legal values are none or a comma-separated list of the -following keywords: <tt>lines</tt>, <tt>vars</tt>, and -<tt>source</tt>. If debug level is not specified, by default, -nothing will be appended to <tt>-g</tt>. If debug is not turned -on, this attribute will be ignored.</div> +<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 debug is not turned on, this attribute will be ignored.</div> <ul> -<li><b>Type</b>: <tt>java.lang.String</tt></li> +<li><b>Type</b>: <code>java.lang.String</code></li> -<li><b>Since</b>: <tt>2.1</tt></li> +<li><b>Since</b>: <code>2.1</code></li> -<li><b>Required</b>: <tt>No</tt></li> +<li><b>Required</b>: <code>No</code></li> -<li><b>User Property</b>: <tt>maven.compiler.debuglevel</tt></li> - </ul><hr /></div> -<div class="section"> +<li><b>User Property</b>: <code>maven.compiler.debuglevel</code></li> + </ul><hr /></section><section> <h4><a name="a.3CenablePreview.3E"></a><b><a name="enablePreview"><enablePreview></a></b></h4> -<div>Set to <tt>true</tt> to Enable preview language features of the -java compiler</div> +<div>Set to <code>true</code> to Enable preview language features of the java compiler</div> <ul> -<li><b>Type</b>: <tt>boolean</tt></li> +<li><b>Type</b>: <code>boolean</code></li> -<li><b>Since</b>: <tt>3.10.1</tt></li> +<li><b>Since</b>: <code>3.10.1</code></li> -<li><b>Required</b>: <tt>No</tt></li> +<li><b>Required</b>: <code>No</code></li> -<li><b>User Property</b>: <tt>maven.compiler.enablePreview</tt></li> +<li><b>User Property</b>: <code>maven.compiler.enablePreview</code></li> -<li><b>Default</b>: <tt>false</tt></li> - </ul><hr /></div> -<div class="section"> +<li><b>Default</b>: <code>false</code></li> + </ul><hr /></section><section> <h4><a name="a.3Cencoding.3E"></a><b><a name="encoding"><encoding></a></b></h4> <div>The -encoding argument for the Java compiler.</div> <ul> -<li><b>Type</b>: <tt>java.lang.String</tt></li> +<li><b>Type</b>: <code>java.lang.String</code></li> -<li><b>Since</b>: <tt>2.1</tt></li> +<li><b>Since</b>: <code>2.1</code></li> -<li><b>Required</b>: <tt>No</tt></li> +<li><b>Required</b>: <code>No</code></li> -<li><b>User Property</b>: <tt>encoding</tt></li> +<li><b>User Property</b>: <code>encoding</code></li> -<li><b>Default</b>: <tt>${project.build.sourceEncoding}</tt></li> - </ul><hr /></div> -<div class="section"> +<li><b>Default</b>: <code>${project.build.sourceEncoding}</code></li> + </ul><hr /></section><section> <h4><a name="a.3Cexcludes.3E"></a><b><a name="excludes"><excludes></a></b></h4> <div>A list of exclusion filters for the compiler.</div> <ul> -<li><b>Type</b>: <tt>java.util.Set</tt></li> - -<li><b>Since</b>: <tt>2.0</tt></li> +<li><b>Type</b>: <code>java.util.Set<java.lang.String></code></li> -<li><b>Required</b>: <tt>No</tt></li> - </ul><hr /></div> -<div class="section"> +<li><b>Required</b>: <code>No</code></li> + </ul><hr /></section><section> <h4><a name="a.3Cexecutable.3E"></a><b><a name="executable"><executable></a></b></h4> -<div>Sets the executable of the compiler to use when <tt>fork</tt> -is <tt>true</tt>.</div> +<div>Sets the executable of the compiler to use when <a href="#fork"><code>fork</code></a> is <code>true</code>.</div> <ul> -<li><b>Type</b>: <tt>java.lang.String</tt></li> - -<li><b>Since</b>: <tt>2.0</tt></li> +<li><b>Type</b>: <code>java.lang.String</code></li> -<li><b>Required</b>: <tt>No</tt></li> +<li><b>Required</b>: <code>No</code></li> -<li><b>User Property</b>: <tt>maven.compiler.executable</tt></li> - </ul><hr /></div> -<div class="section"> +<li><b>User Property</b>: <code>maven.compiler.executable</code></li> + </ul><hr /></section><section> <h4><a name="a.3CfailOnError.3E"></a><b><a name="failOnError"><failOnError></a></b></h4> -<div>Indicates whether the build will continue even if there are -compilation errors.</div> +<div>Indicates whether the build will continue even if there are compilation errors.</div> <ul> -<li><b>Type</b>: <tt>boolean</tt></li> +<li><b>Type</b>: <code>boolean</code></li> -<li><b>Since</b>: <tt>2.0.2</tt></li> +<li><b>Since</b>: <code>2.0.2</code></li> -<li><b>Required</b>: <tt>No</tt></li> +<li><b>Required</b>: <code>No</code></li> -<li><b>User Property</b>: <tt>maven.compiler.failOnError</tt></li> +<li><b>User Property</b>: <code>maven.compiler.failOnError</code></li> -<li><b>Default</b>: <tt>true</tt></li> - </ul><hr /></div> -<div class="section"> +<li><b>Default</b>: <code>true</code></li> + </ul><hr /></section><section> <h4><a name="a.3CfailOnWarning.3E"></a><b><a name="failOnWarning"><failOnWarning></a></b></h4> -<div>Indicates whether the build will continue even if there are -compilation warnings.</div> +<div>Indicates whether the build will continue even if there are compilation warnings.</div> <ul> -<li><b>Type</b>: <tt>boolean</tt></li> +<li><b>Type</b>: <code>boolean</code></li> -<li><b>Since</b>: <tt>3.6</tt></li> +<li><b>Since</b>: <code>3.6</code></li> -<li><b>Required</b>: <tt>No</tt></li> +<li><b>Required</b>: <code>No</code></li> -<li><b>User Property</b>: <tt>maven.compiler.failOnWarning</tt></li> +<li><b>User Property</b>: <code>maven.compiler.failOnWarning</code></li> -<li><b>Default</b>: <tt>false</tt></li> - </ul><hr /></div> -<div class="section"> +<li><b>Default</b>: <code>false</code></li> + </ul><hr /></section><section> <h4><a name="a.3CfileExtensions.3E"></a><b><a name="fileExtensions"><fileExtensions></a></b></h4> -<div>File extensions to check timestamp for incremental build. Default -contains only <tt>class</tt> and <tt>jar</tt>.</div> +<div>File extensions to check timestamp for incremental build. Default contains only <code>class</code> and <code>jar</code>.</div> <ul> -<li><b>Type</b>: <tt>java.util.List</tt></li> +<li><b>Type</b>: <code>java.util.List<java.lang.String></code></li> -<li><b>Since</b>: <tt>3.1</tt></li> +<li><b>Since</b>: <code>3.1</code></li> -<li><b>Required</b>: <tt>No</tt></li> - </ul><hr /></div> -<div class="section"> +<li><b>Required</b>: <code>No</code></li> + </ul><hr /></section><section> <h4><a name="a.3CforceJavacCompilerUse.3E"></a><b><a name="forceJavacCompilerUse"><forceJavacCompilerUse></a></b></h4> -<div>compiler can now use javax.tools if available in your current jdk, -you can disable this feature using --Dmaven.compiler.forceJavacCompilerUse=true or in the plugin -configuration</div> +<div>compiler can now use javax.tools if available in your current jdk, you can disable this feature using -Dmaven.compiler.forceJavacCompilerUse=true or in the plugin configuration</div> <ul> -<li><b>Type</b>: <tt>boolean</tt></li> +<li><b>Type</b>: <code>boolean</code></li> -<li><b>Since</b>: <tt>3.0</tt></li> +<li><b>Since</b>: <code>3.0</code></li> -<li><b>Required</b>: <tt>No</tt></li> +<li><b>Required</b>: <code>No</code></li> -<li><b>User Property</b>: <tt>maven.compiler.forceJavacCompilerUse</tt></li> +<li><b>User Property</b>: <code>maven.compiler.forceJavacCompilerUse</code></li> -<li><b>Default</b>: <tt>false</tt></li> - </ul><hr /></div> -<div class="section"> +<li><b>Default</b>: <code>false</code></li> + </ul><hr /></section><section> <h4><a name="a.3Cfork.3E"></a><b><a name="fork"><fork></a></b></h4> -<div>Allows running the compiler in a separate process. If -<tt>false</tt> it uses the built in compiler, while if -<tt>true</tt> it will use an executable.</div> +<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><b>Type</b>: <tt>boolean</tt></li> +<li><b>Type</b>: <code>boolean</code></li> -<li><b>Since</b>: <tt>2.0</tt></li> +<li><b>Required</b>: <code>No</code></li> -<li><b>Required</b>: <tt>No</tt></li> +<li><b>User Property</b>: <code>maven.compiler.fork</code></li> -<li><b>User Property</b>: <tt>maven.compiler.fork</tt></li> - -<li><b>Default</b>: <tt>false</tt></li> - </ul><hr /></div> -<div class="section"> +<li><b>Default</b>: <code>false</code></li> + </ul><hr /></section><section> <h4><a name="a.3CgeneratedSourcesDirectory.3E"></a><b><a name="generatedSourcesDirectory"><generatedSourcesDirectory></a></b></h4> <div> -<p>Specify where to place generated source files created by -annotation processing. Only applies to JDK 1.6+</p></div> +<p>Specify where to place generated source files created by annotation processing. Only applies to JDK 1.6+</p></div> + +<ul> + +<li><b>Type</b>: <code>java.io.File</code></li> + +<li><b>Since</b>: <code>2.2</code></li> + +<li><b>Required</b>: <code>No</code></li> + +<li><b>Default</b>: <code>${project.build.directory}/generated-sources/annotations</code></li> + </ul><hr /></section><section> +<h4><a name="a.3Cimplicit.3E"></a><b><a name="implicit"><implicit></a></b></h4> + +<div>Keyword to be appended to the <code>-implicit:</code> command-line switch.</div> <ul> -<li><b>Type</b>: <tt>java.io.File</tt></li> +<li><b>Type</b>: <code>java.lang.String</code></li> -<li><b>Since</b>: <tt>2.2</tt></li> +<li><b>Since</b>: <code>3.10.2</code></li> -<li><b>Required</b>: <tt>No</tt></li> +<li><b>Required</b>: <code>No</code></li> -<li><b>Default</b>: <tt>${project.build.directory}/generated-sources/annotations</tt></li> - </ul><hr /></div> -<div class="section"> +<li><b>User Property</b>: <code>maven.compiler.implicit</code></li> + </ul><hr /></section><section> <h4><a name="a.3Cincludes.3E"></a><b><a name="includes"><includes></a></b></h4> <div>A list of inclusion filters for the compiler.</div> <ul> -<li><b>Type</b>: <tt>java.util.Set</tt></li> +<li><b>Type</b>: <code>java.util.Set<java.lang.String></code></li> + +<li><b>Required</b>: <code>No</code></li> + </ul><hr /></section><section> +<h4><a name="a.3CincrementalExcludes.3E"></a><b><a name="incrementalExcludes"><incrementalExcludes></a></b></h4> + +<div>A list of exclusion filters for the incremental calculation.</div> + +<ul> + +<li><b>Type</b>: <code>java.util.Set<java.lang.String></code></li> -<li><b>Since</b>: <tt>2.0</tt></li> +<li><b>Since</b>: <code>3.11</code></li> -<li><b>Required</b>: <tt>No</tt></li> - </ul><hr /></div> -<div class="section"> +<li><b>Required</b>: <code>No</code></li> + </ul><hr /></section><section> <h4><a name="a.3CjdkToolchain.3E"></a><b><a name="jdkToolchain"><jdkToolchain></a></b></h4> <div> -<p>Specify the requirements for this jdk toolchain for using a -different <tt>javac</tt> than the one of the JRE used by Maven. -This overrules the toolchain selected by the <a class="externalLink" href="https://maven.apache.org/plugins/maven-toolchains-plugin/">maven-toolchain-plugin</a>.</p> -(see <a class="externalLink" href="https://maven.apache.org/guides/mini/guide-using-toolchains.html">Guide -to Toolchains</a> for more info) +<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 class="externalLink" href="https://maven.apache.org/plugins/maven-toolchains-plugin/">maven-toolchain-plugin</a>.</p> (see <a class="externalLink" href="https://maven.apache.org/guides/mini/guide-using-toolchains.html"> Guide to Toolchains</a> for more info) <div> -<pre> -<configuration> +<pre><configuration> <jdkToolchain> <version>11</version> </jdkToolchain> @@ -1278,361 +1234,328 @@ to Toolchains</a> for more info) </jdkToolchain> ... </configuration> -</pre></div> - -<b>note:</b> requires at least Maven 3.3.1</div> +</pre></div> <b>note:</b> requires at least Maven 3.3.1</div> <ul> -<li><b>Type</b>: <tt>java.util.Map</tt></li> +<li><b>Type</b>: <code>java.util.Map<java.lang.String, java.lang.String></code></li> -<li><b>Since</b>: <tt>3.6</tt></li> +<li><b>Since</b>: <code>3.6</code></li> -<li><b>Required</b>: <tt>No</tt></li> - </ul><hr /></div> -<div class="section"> +<li><b>Required</b>: <code>No</code></li> + </ul><hr /></section><section> <h4><a name="a.3Cmaxmem.3E"></a><b><a name="maxmem"><maxmem></a></b></h4> -<div>Sets the maximum size, in megabytes, of the memory allocation pool, -ex. "128", "128m" if <tt>fork</tt> is set to <tt>true</tt>.</div> +<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><b>Type</b>: <tt>java.lang.String</tt></li> +<li><b>Type</b>: <code>java.lang.String</code></li> -<li><b>Since</b>: <tt>2.0.1</tt></li> +<li><b>Since</b>: <code>2.0.1</code></li> -<li><b>Required</b>: <tt>No</tt></li> +<li><b>Required</b>: <code>No</code></li> -<li><b>User Property</b>: <tt>maven.compiler.maxmem</tt></li> - </ul><hr /></div> -<div class="section"> +<li><b>User Property</b>: <code>maven.compiler.maxmem</code></li> + </ul><hr /></section><section> <h4><a name="a.3Cmeminitial.3E"></a><b><a name="meminitial"><meminitial></a></b></h4> -<div>Initial size, in megabytes, of the memory allocation pool, ex. -"64", "64m" if <tt>fork</tt> is set to <tt>true</tt>.</div> +<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><b>Type</b>: <tt>java.lang.String</tt></li> +<li><b>Type</b>: <code>java.lang.String</code></li> -<li><b>Since</b>: <tt>2.0.1</tt></li> +<li><b>Since</b>: <code>2.0.1</code></li> -<li><b>Required</b>: <tt>No</tt></li> +<li><b>Required</b>: <code>No</code></li> -<li><b>User Property</b>: <tt>maven.compiler.meminitial</tt></li> - </ul><hr /></div> -<div class="section"> +<li><b>User Property</b>: <code>maven.compiler.meminitial</code></li> + </ul><hr /></section><section> <h4><a name="a.3CmultiReleaseOutput.3E"></a><b><a name="multiReleaseOutput"><multiReleaseOutput></a></b></h4> <div> -<p>When set to <tt>true</tt>, the classes will be placed in -<tt>META-INF/versions/${release}</tt> The release value must be -set, otherwise the plugin will fail.</p> -<b>Note:</b> A jar is only a multirelease jar if -<tt>META-INF/MANIFEST.MF</tt> contains <tt>Multi-Release: -true</tt>. You need to set this by configuring the <a class="externalLink" 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> +<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> <b>Note: </b> 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 class="externalLink" 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><b>Type</b>: <tt>boolean</tt></li> +<li><b>Type</b>: <code>boolean</code></li> -<li><b>Since</b>: <tt>3.7.1</tt></li> +<li><b>Since</b>: <code>3.7.1</code></li> -<li><b>Required</b>: <tt>No</tt></li> - </ul><hr /></div> -<div class="section"> +<li><b>Required</b>: <code>No</code></li> + </ul><hr /></section><section> <h4><a name="a.3Coptimize.3E"></a><b><a name="optimize"><optimize></a></b></h4> -<div><b>Deprecated.</b> This property is a no-op in <tt>javac</tt>.</div> +<div><b>Deprecated.</b> This property is a no-op in <code>javac</code>.</div> -<div>Set to <tt>true</tt> to optimize the compiled code using the -compiler's optimization methods.</div> +<div>Set to <code>true</code> to optimize the compiled code using the compiler's optimization methods.</div> <ul> -<li><b>Type</b>: <tt>boolean</tt></li> - -<li><b>Since</b>: <tt>2.0</tt></li> +<li><b>Type</b>: <code>boolean</code></li> -<li><b>Required</b>: <tt>No</tt></li> +<li><b>Required</b>: <code>No</code></li> -<li><b>User Property</b>: <tt>maven.compiler.optimize</tt></li> +<li><b>User Property</b>: <code>maven.compiler.optimize</code></li> -<li><b>Default</b>: <tt>false</tt></li> - </ul><hr /></div> -<div class="section"> +<li><b>Default</b>: <code>false</code></li> + </ul><hr /></section><section> <h4><a name="a.3CoutputFileName.3E"></a><b><a name="outputFileName"><outputFileName></a></b></h4> -<div>Sets the name of the output file when compiling a set of sources to -a single file. expression="${project.build.finalName}"</div> +<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><b>Type</b>: <tt>java.lang.String</tt></li> - -<li><b>Since</b>: <tt>2.0</tt></li> +<li><b>Type</b>: <code>java.lang.String</code></li> -<li><b>Required</b>: <tt>No</tt></li> - </ul><hr /></div> -<div class="section"> +<li><b>Required</b>: <code>No</code></li> + </ul><hr /></section><section> <h4><a name="a.3Cparameters.3E"></a><b><a name="parameters"><parameters></a></b></h4> -<div>Set to <tt>true</tt> to generate metadata for reflection on -method parameters.</div> +<div>Set to <code>true</code> to generate metadata for reflection on method parameters.</div> <ul> -<li><b>Type</b>: <tt>boolean</tt></li> +<li><b>Type</b>: <code>boolean</code></li> -<li><b>Since</b>: <tt>3.6.2</tt></li> +<li><b>Since</b>: <code>3.6.2</code></li> -<li><b>Required</b>: <tt>No</tt></li> +<li><b>Required</b>: <code>No</code></li> -<li><b>User Property</b>: <tt>maven.compiler.parameters</tt></li> +<li><b>User Property</b>: <code>maven.compiler.parameters</code></li> -<li><b>Default</b>: <tt>false</tt></li> - </ul><hr /></div> -<div class="section"> +<li><b>Default</b>: <code>false</code></li> + </ul><hr /></section><section> <h4><a name="a.3Cproc.3E"></a><b><a name="proc"><proc></a></b></h4>
[... 351 lines stripped ...]
