Annotation Processing
Starting from JDK 6, javac scans the source file for annotations and then the class path for matching annotation processors. This is the default behavior in JDK <= 22.
How javac processes annotations is controlled by the option -proc:$policy, where $policy can have the following values.
none: compilation without annotation processingonly: annotation processing without compilationfull: annotation processing followed by compilation
-proc:full is added in JDK 21. -proc:none is the default on JDK 23. In JDK 21, javac prints an informative message if implicit usage of annotation processing under the default policy is detected.
If your application relies on javac’s default annotation processing behavior, you should add the -proc:full option to javac, then your application won’t be affected after upgrading to JDK 23.