As far as I understand, Lombok uses Java\'s Annotation Processors to generate additional methods.
With Maven 3.5 it works perfectly without adding any additional con
Ale IDEs use lombok plugin be it intelij-idea
or eclipse
.
javac
works fine with it - but remember that it works when for example you build you project with mvn clean package
.
Then when you have your IDE - it works differntly - the code is not processed like in build task.
The plugin make it know to IDE what is this annotation and what code it generates underhood without need of javac
.
IntelliJ's code analysis engine does not use javac or run annotation processors. Instead, IntelliJ uses its own Java parser and reference resolution logic, and builds its own code model. The Lombok plugin extends the code model to provide information about declarations generated by the Lombok annotation processor.
It's because IDEA syntax highlighter uses internal Java parser. If IDEA used just javac, then it wouldn't be able to highlight syntax errors as you type. It also gives much better hints about wrong code, so each Java construct, feature or annotation must be implemented by JetBrains team or there's plugin for it like in this case.
Annotation processing option is just for building project which is done via javac
, but it's not for syntax highlighting.