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

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

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

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


person zhuguowei    schedule 07.01.2017    source источник


Ответы (4)


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

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

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

person Nicolai Parlog    schedule 07.01.2017
comment
хотя это очень хороший ответ на прошлый январь, теперь, когда java 9 отсутствует ... читая ошибку, похоже, скоро? - person xenoterracide; 20.12.2017

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

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

person Randakar    schedule 27.11.2017

Проблема, похоже, решена с 9 января 2018 г .: https://github.com/rzwitserloot/lombok/issues/985#issuecomment-356135454

Для Lombok версии 1.16.20 поддерживается Java 9.

person Tos    schedule 24.01.2018
comment
Это хороший ответ - он дает важную новую информацию. @Tos: Вот почему я обновил свой ответ, чтобы отразить это. - person Nicolai Parlog; 24.01.2018

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

Чтобы узнать, почему это проблема, см. это сообщение в блоге, в котором объясняются некоторые «уловки» / «хаки»

person Ashish Khandelwal    schedule 26.04.2019