Невозможно использовать Lombok с Java 11

Мы обновили версию Java с 8 до 11, но я получил ошибки компиляции методов получения/установки, где я реализовал классы POJO с аннотациями для получения и установки Lombok.

Есть ли способ использовать аннотацию Lombok @Data которая обеспечивает getter и setter без их реализации в Java 11?

В настоящее время я сталкиваюсь с ошибкой:

невозможно найти getStoreName()

где storeName было объявлено как глобальная переменная в классе с аннотацией @Data Lombok над классом.

Ответ 1

TL; DR

Обновите Lombok как зависимый модуль и плагин IDE (IntelliJ, NetBeans, Eclipse) и включите обработку аннотаций в настройках IDE.


Последняя версия плагина Lombok и/или IntelliJ прекрасно поддерживает Java 11.

https://projectlombok.org/changelog

v1.18.4 (30 октября 2018 г.)

  • ...
  • ПЛАТФОРМА: Много улучшений для поддержки lombok JDK10/11.
  • ...

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

Обеспечивает поддержку аннотаций lombok для написания великолепного Java-кода с IntelliJ IDEA.

Последняя версия (0.23) выпущена 17.12.2018

...

  • Протестировано и поддерживается версии IntelliJ: 2016.2, 2016.3, 2017.X, 2018.X

...

Зависимость проекта Ломбок

Убедитесь, что в ваш проект добавлена зависимость от Lombok. Этот плагин не добавляет его автоматически для вас.

Обратите внимание: рекомендуется использовать новейшую версию зависимости Lombok , но она не гарантирует, что все представленные функции будут доступны. Смотрите Lombok changelog для более подробной информации.

...

Поэтому, пожалуйста, обновите вашу версию lombok/plugin до последних версий. Должен работать как шарм.

Ответ 2

Для пользователей Eclipse вам необходимо установить lombok в Eclipse. Пожалуйста, следуйте инструкциям здесь https://projectlombok.org/setup/eclipse