JDK-8338926 : Release Note: Annotation processing in `javac` disabled by default
  • Type: Sub-task
  • Component: tools
  • Sub-Component: javac
  • Affected Version: 23
  • Priority: P4
  • Status: Resolved
  • Resolution: Delivered
  • Submitted: 2024-08-23
  • Updated: 2024-08-30
  • Resolved: 2024-08-30
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 23
23Resolved
Description
As of JDK 23, annotation processing is only run with some explicit configuration of annotation processing or with an explicit request to run annotation processing on the `javac` command line. This is a change in behavior from the existing default of looking to run annotation processing by searching the class path for processors _without_ any explicit annotation processing related options needing to 
be present.

Invocations of `javac` that rely on annotation processing without any explicit annotation processing configuration will need to be updated to keep running annotation processors. In JDK 21 and 22, `javac` prints a note identifying such invocations. To preserve the old behavior, "-proc:full" can be passed to `javac`. Support for "-proc:full" has been backported to several update release trains and is also supported as of a recent version of the Maven Compiler plugin. In updated versions of the Compiler plugin, the property in question will appear as: "User Property: maven.compiler.proc" and users can configure it via `-Dmaven.compiler.proc=full` on the command-line.
Comments
Release note sub-tasks must be Resolved and either Delivered or Withdrawn.
30-08-2024