Подтвердить что ты не робот

Поддерживает ли проект Lombok Java 9?

Я использовал Lombok в своем проекте, но мой коллега не согласен использовать его, и его причина (от противоречие ломбокских документов)

Обе эти части проекта Lombok используют непубличные API для достижения своего колдовства. Это означает, что существует риск того, что Project Lombok будет разорван с последующими релизами IDE или JDK.

Но это очень старый документ, написанный в 2010 году, возможно, теперь он решил проблему, поэтому я хочу знать, поддерживает ли Lombok Java 9 и использует ли он еще не публичный API: s?

4b9b3361

Ответ 1

В проекте Lombok есть проблема с отслеживанием поддержки Java 9. Начиная с 9 января 2018 года и версии 1.16.20, Lombok официально поддерживает Java 9. Из журнала изменений:

  • ПЛАТФОРМА: Лучшая поддержка jdk9 в новых IntelliJ, Netbeans и Gradle.
  • BREAKING CHANGE: ключ конфигурации lombok.addJavaxGeneratedAnnotation теперь по умолчанию имеет значение false вместо true. Oracle нарушила эту аннотацию с выпуском JDK9, что потребовало этого критического изменения.
  • BREAKING CHANGE: ключ конфигурации lombok.anyConstructor.suppressConstructorProperties теперь устарел и по умолчанию имеет значение true, то есть по умолчанию lombok больше не генерирует аннотации @ConstructorProperties автоматически. Новый ключ конфигурации lombok.anyConstructor.addConstructorProperties теперь существует; установите его в true если вы хотите старое поведение. Oracle более или менее прервал эту аннотацию с выпуском JDK9, что потребовало этого критического изменения.
  • РАЗРАБОТКА: теперь возможна компиляция ломбок на JDK1.9.

(На данный момент это не модуль, поэтому вам нужно разместить его на пути к классам. Спасибо ответу Тос, который первым упомянул об этом.)

Ответ 2

Текущий статус lombok для Java 9 отслеживается здесь: https://github.com/rzwitserloot/lombok/issues/985

В настоящее время эта ошибка все еще открыта и (по-видимому) активно работает. Существует краевой выпуск, который решает большинство проблем, поэтому на данный момент похоже, что все, что вам нужно сделать, это подождать..

Ответ 4

Поскольку статус lombok для Java 9 отслеживается здесь.

Для подсказок, почему это - проблема, см. Этот пост в блоге, который объясняет некоторые из "уловок"/"хаков"