Не могу скомпилировать проект, когда я использую Lombok под IntelliJ IDEA - PullRequest
164 голосов
/ 24 февраля 2012

Я пытаюсь использовать Lombok в своем проекте, который я разрабатываю с использованием IntelliJ IDEA 11.

Я установил сторонний плагин для IDEA и, кажется, работает нормально, потому что IDEA видит все автоматически сгенерированные методы / поля.

Итак, у меня есть класс, который использует Slf4j.Я прокомментировал это так:

import lombok.extern.slf4j.Slf4j;

@Slf4j
public class TestClass
{
    public TestClass()
    {
        log.info("Hello!");
    }
}

Но когда я собираю плоды, компилятор моего проекта: cannot find symbol variable log.

Не могли бы вы сказать мне, что мне здесь не хватает?

Обновление: Оказалось, что процесс аннотации RequestFactory завершился неудачей.

input files: {com.zasutki.courierApp.server.TestServlet, com.mine.courierApp.server.model.DatastoreObject}

annotations: [javax.inject.Singleton, javax.inject.Inject, lombok.Getter, lombok.Setter, com.googlecode.objectify.annotation.Id, com.googlecode.objectify.annotation.OnSave]

Processor com.google.web.bindery.requestfactory.apt.RfValidator matches [lombok.Getter, com.googlecode.objectify.annotation.Id, javax.inject.Inject, lombok.Setter, com.googlecode.objectify.annotation.OnSave, javax.inject.Singleton] and returns false.

cannot find symbol variable log

Есть идеи по поводу обходных путей?

Обновление 2: Возможно, это не такчто-то, что читатели хотят услышать, но в итоге я переключился на Scala .

Ответы [ 25 ]

2 голосов
/ 07 декабря 2017

1 、 установить плагин lombok для IDEA

Intellij Idea -> Настройки -> Плагины -> ввести в lombok -> Поиск в репозиториях -> Установить -> Перезапустить IDEA

2 、 config lombok plugin

Включение обработки аннотаций заставит его работать

Но если вы работаете на Mac, убедитесь, что вы включили обработку аннотаций в следующемв двух местах:

Intellij Idea -> Настройки -> Построение, выполнение, развертывание -> Компилятор -> Процессоры аннотаций, установите флажок «Включить обработку аннотаций».Файл -> Другие настройки -> Настройки по умолчанию -> Построение, выполнение, развертывание -> Компилятор -> Процессоры аннотаций, установите флажок «Включить обработку аннотаций».

1 голос
/ 08 февраля 2018

У меня не получилось ни с одним из перечисленных выше решений. Я добавил <scope>provided</scope> к зависимости в pom.xml, и она заработала.

<dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.16.20</version>
        <scope>provided</scope>
    </dependency>
0 голосов
/ 14 февраля 2019

Если атрибут foo является логическим, он предоставляет isFoo() вместо getFoo() от Lombok @ Data.

0 голосов
/ 25 сентября 2018

Faced similar problem. Below fixed worked for me.
скачать (отсюда [https://projectlombok.org/download][1]) и добавить банку в структуре вашего проекта.

Шаги: Файл-> Структура проекта-> Глобальные библиотеки

0 голосов
/ 21 сентября 2018

Установите приведенный ниже плагин и перезапустите IDE для устранения ошибок:

File -> Settings -> Plugins-> Browse Repositories -> Lombok Plugin

Включить процессор аннотаций:

File -> Settings -> Build, Execution, Deployment -> Compiler -> Annotation Processors
File -> Other Settings -> Default Settings -> Compiler -> Annotation Processors
0 голосов
/ 26 февраля 2018

Вы можете исправить cannot find symbol variable log при использовании lombok в IntelliJ IDEA 2017.1.3, выполнив следующее:

Настройки IntelliJ> Построение, выполнение, развертывание> Аннотация Процессоры> [Проверить] Включить обработку аннотаций> Применить

0 голосов
/ 07 октября 2017

В моем случае все вещи, упомянутые ниже, были у меня на месте, и они все еще не работали.

  1. У меня правильно установлен плагин lombok
  2. Процессоры аннотаций, также проверено.
  3. Мой компилятор Java был установлен на JAVAC

Чтобы исправить мои проблемы, мне пришлось

  1. Обновление lombok до последней версии (v0.15) по состоянию на 7 октября 2017 г.
  2. Перезапустите IntelliJ.
  3. Перестроить проект.

См. Скриншоты для обновления и перестройки проекта ниже.

Как обновить ломбок

Как перестроить проект

0 голосов
/ 17 июля 2017

Если вы попробовали все решения, представленные здесь, и все еще не можете скомпилировать исходники, также посмотрите здесь: Статический импорт класса компоновщика прерывает генерацию байт-кода в Maven - посмотрите на ваши источники, если есть такой статический импорт. Это влияет на плагин maven, поэтому компиляция не удастся на других системах сборки за пределами IntelliJ IDEA.

0 голосов
/ 31 марта 2015

У меня была похожая проблема при сборке с JDK8, вернул проект в JDK7, и он работал нормально. Может быть более старая версия Lombok, которая не будет компилироваться под JDK8.

0 голосов
/ 28 февраля 2019

Я столкнулся с этой проблемой после обновления IDEA до 2018.3. Мне пришлось обновить весь существующий плагин

...