[ 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)