[ 
https://issues.apache.org/jira/browse/MCOMPILER-548?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17823403#comment-17823403
 ] 

ASF GitHub Bot commented on MCOMPILER-548:
------------------------------------------

jddarcy commented on code in PR #200:
URL: 
https://github.com/apache/maven-compiler-plugin/pull/200#discussion_r1512085550


##########
src/main/java/org/apache/maven/plugin/compiler/AbstractCompilerMojo.java:
##########
@@ -279,8 +279,11 @@ public abstract class AbstractCompilerMojo extends 
AbstractMojo {
      * <ul>
      * <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.

Review Comment:
   > Another solution (which is probably intended by the JDK folks): I used to 
do two executions in my projects:
   > 
   >     * generate-sources: execute with `proc:only`
   > 
   >     * default-compile: execute with `proc:none`
   > 
   > 
   > Worked like a charm and only changed it because Tamas hinted me to do so 
(because with this setup, some things like caching, incremental compilation 
etc. won't work that well or not at all). However, this solution would not run 
into those problems at all.
   
   Just running annotation processing when there is explicit need and intention 
to do so would be fine too.
   
   The warning note is only printed when annotation processing by default is 
being used. If there is explicit configuration annotation processing related 
options, like `-processorpath` the note is not printed.





> JDK 21 throws annotations processing warning that can not be turned off
> -----------------------------------------------------------------------
>
>                 Key: MCOMPILER-548
>                 URL: https://issues.apache.org/jira/browse/MCOMPILER-548
>             Project: Maven Compiler Plugin
>          Issue Type: Bug
>    Affects Versions: 3.11.0
>            Reporter: Henning Schmiedehausen
>            Priority: Major
>
> maven compiler plugin 3.11 on Java 21 reports
> {quote}
> [INFO] Annotation processing is enabled because one or more processors were 
> found
>   on the class path. A future release of javac may disable annotation 
> processing
>   unless at least one processor is specified by name (-processor), or a search
>   path is specified (--processor-path, --processor-module-path), or annotation
>   processing is enabled explicitly (-proc:only, -proc:full).
>   Use -Xlint:-options to suppress this message.
>   Use -proc:none to disable annotation processing.
> {quote}
> However, the {{<proc>}} option only supports "none" and "proc", not "full" 
> (which is the implicit default). 
> Adding this through a compiler option:
> {quote}
> <configuration>
>   <compilerArgs>
>     <arg>-proc:full</arg>
>   </compilerArgs>
> </configuration>
> {quote}
> fixes this warning. Adding "full" as a value for the compiler plugin would 
> fix it, too.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to