Unable to use Lombok with Java 11

Tonyukuk picture Tonyukuk · Dec 20, 2018 · Viewed 27.2k times · Source

We upgraded the Java version from 8 to 11 but I got compile errors of getter/setter methods where I implemented the POJO classes with Lombok's Getter and Setter Annotations.

Is there a way to use Lombok's @Data annotation which provides getter and setter without implementing them at Java 11?

Currently, I am facing the error:

unable to find getStoreName()

where storeName was declared as a global variable in the class with @Data Lombok annotation above the class.

Answer

Mikhail Kholodkov picture Mikhail Kholodkov · Dec 20, 2018

TL;DR

Upgrade Lombok as a dependency and as a IDE plugin (IntelliJ, NetBeans, Eclipse) and enable Annotation Processing in IDEs settings.


Latest version of Lombok and/or IntelliJ plugin perfectly supports Java 11.

https://projectlombok.org/changelog

v1.18.4 (October 30th, 2018)

  • ...
  • PLATFORM: Many improvements for lombok's JDK10/11 support.
  • ...

https://github.com/mplushnikov/lombok-intellij-plugin

Provides support for lombok annotations to write great Java code with IntelliJ IDEA.

Last version (0.23) released on 17.12.2018

...

  • Tested and supports IntelliJ versions: 2016.2, 2016.3, 2017.X, 2018.X

...

Lombok project dependency

Make sure you have Lombok dependency added to your project. This plugin does not automatically add it for you.

Please Note: Using newest version of the Lombok dependency is recommended, but does not guarantee that all the features introduced will be available. See Lombok changelog for more details.

...

So please update your lombok/plugin version to the latest ones. Should work like a charm.