Аннотации Ломбока не компилируются по идее Intellij

  • Я установил плагин для идеи intellij (lombok-plugin-0.8.6-13).
  • Добавлен lombok.jar в classpath
  • Я могу найти геттеры и сеттеры в окне структуры. И Intellij не показывает ошибок.
  • Настройка - плагин Lombok - проверенная конфигурация Intellij для ломбока, это показывает, что "конфигурация IntelliJ, похоже, в порядке".

Кажется, все в порядке. Но когда я скомпилирую тест, возникают ошибки: не удается найти методы getXXX и setXXX.

Я открыл файл .class с IntelliJ и выяснил, что методов setXXX и getXXX нет.

Может ли кто-нибудь сказать мне, почему?

  • плагин: lombok-plugin-0.8.6-13
  • lombok.jar: 1.14.0
  • идея: 13.0.2 для linux
  • JDK: 1.7.0_21

Ответ 1

Для решения проблемы установите:

  • Предпочтения (Ctrl + Alt + S)
    • Сборка, выполнение, развертывание
      • составитель
        • Процессоры аннотаций
          • Включить обработку аннотаций

Убедитесь, что у вас установлен плагин Lombok для IntelliJ!

  • Настройки -> Плагины
  • Искать "Lombok Plugin"
  • Нажмите Обзор репозиториев...
  • Выберите плагин Lombok
  • устанавливать
  • Перезапустите IntelliJ

Ответ 2

Если вы используете компилятор Eclipse с lombok, эта настройка, наконец, сработала для меня:

  • IDEA 14.1
  • Плагин Lombok
  • .../Компилятор/Компилятор Java > Использование компилятора: Eclipse
  • .../Компиляторы/Обработчики аннотаций > Включить обработку аннотаций: отмечен (настройка по умолчанию)
  • .../Компилятоp > Дополнительные параметры сборки VM: -javaagent: lombok.jar

Самая важная часть - последняя, ​​моя выглядит следующим образом: enter image description here

Плагин необходим для редактора IntelliJ для распознавания геттеров и сеттеров, javaagent необходим для компилятора eclipse для компиляции с lombok.

Ответ 3

Для меня, как плагин ломбок, так и обработка аннотаций необходимы, нет. Нет необходимости использовать Eclipse и дополнительные опции -javaagent: lombok.jar.

  • Идея 14.1.3, сборка 141.1010
  • Плагин Lombok [Preference- > plugins- > просматривать репозитории- > искать 'lombok' → установить и перезапустить идею.
  • Предпочтение → поиск "аннотация" → ввести обработчик аннотации → включить обработку аннотации.

Ответ 4

IDEA 2016.1:

  • Установить плагин lombok
  • Настройки → Компилятор → Обработчики аннотаций → Включить обработку аннотаций: проверено (настройка по умолчанию)
  • Настройки → Компилятор → Обработчики аннотации → Обработчики аннотаций добавляют "lombok.launch.AnnotationProcessorHider $ AnnotationProcessor"
  • Также, если вы используете maven, добавьте в конфигурацию maven-compiler-plugin → annotationProcessors → annotationProcessor: lombok.launch.AnnotationProcessorHider $ AnnotationProcessor

    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>${maven.plugin.compiler.version}</version>
      <configuration>
        <compilerVersion>${java.version}</compilerVersion>
        <source>${java.version}</source>
        <target>${java.version}</target>
        <annotationProcessors>
          <annotationProcessor>lombok.launch.AnnotationProcessorHider$AnnotationProcessor</annotationProcessor>
        </annotationProcessors>
      </configuration>
    </plugin>
    

Ответ 5

Убедитесь, что эти два требования выполнены:

  • Включить обработку аннотаций,

    Настройки > Сборка, выполнение, развертывание > Компилятоp > Обработчики аннотаций > Включить обработку аннотаций

  • Плагин Lombok установлен и включен для вашего проекта.

Ответ 6

Ни один из расширенных ответов на этот вопрос не разрешил проблему для меня.

Мне удалось решить проблему, добавив зависимость lombok в файл pom.xml, т.е.

<dependency>
   <groupId>org.projectlombok</groupId>
   <artifactId>lombok</artifactId>
   <version>1.16.12</version>
</dependency>

Я использую IntelliJ 2016.3.14 с maven-3.3.9

Надеюсь, мой ответ будет вам полезен

Ответ 7

Проведя слишком долгое устранение неполадок, я нашел простое решение, которое гарантирует, что IntelliJ корректно обрабатывает аннотации Lombok во время сборки.

Плагин gradle-lombok не нужен для этого обходного пути. Для вашего build.gradle требуется только следующее:

dependencies {
    compileOnly("org.projectlombok:lombok:1.16.18")
}

Обходной путь заключается в том, чтобы включить следующую настройку IntelliJ:

  1. Откройте настройки/настройки IntelliJ.
  2. Перейдите к Build, Execute, Deployment > Build Tools > Gradle > Runner
  3. Установите флажок " Delegate IDE build/run actions to gradle


Преимущества этого обходного пути по сравнению с другими решениями на этой странице:

  • Обработка аннотаций не требуется!
  • Способна использовать Java-компилятор по вашему выбору (нет компилятора Eclipse)
  • Не использовать багги-плагин-плагин-ломбок (хотя, возможно, кто-то еще может это решить)
  • Нет параметров виртуальной машины
  • Нет жестко закодированных путей к ломбокской банке

Одним из недостатков является то, что IntelliJ больше не будет использовать свой собственный тестовый бегун. Вместо этого тесты всегда запускаются через Gradle.

Ответ 8

Если вы используете Intellij на Mac, эта настройка, наконец, работала для меня.

Установки: Intellij

  1. Перейдите в раздел "Настройки", найдите "Плагины".
  2. Введите "Ломбок" в окне поиска плагинов. Ломбок - это несвязанный плагин, поэтому он не будет отображаться вначале.
  3. Нажмите "Обзор", чтобы найти несвязанные плагины
  4. Должен появиться "Плагин Ломбок". Выберите его.
  5. Нажмите зеленую кнопку "Установить".
  6. Нажмите кнопку "Перезапустить Intellij IDEA".

Настройки:

  1. Включить обработчик аннотации

    • Перейти к настройкам → сборка, выполнение, развертывание → настройки → компилятор → обработчики аннотации
    • Файл → Другие настройки → Настройки по умолчанию → Компилятор → Обработчики аннотации
  2. Проверьте, включен ли плагин Lombok

    • IntelliJ IDEA-> Настройки → Другие настройки → Плагин Ломбок → Включить Ломбок
  3. Добавьте банку Lombok в глобальные библиотеки и зависимости проекта.

    • Файл → Структура проекта → Глобальные библиотеки (Добавить lombok.jar)
  4. Файл → Структура проекта → Настройки проекта → Модули → Вкладка "Зависимости" = проверка ломбок

  5. Перезапустить Intellij

Ответ 9

В Itellij 15 CE достаточно установить Lombok Plugin (без дополнительной настройки).

Ответ 10

Я следовал этой процедуре, чтобы получить похожую/ту же ошибку.

мвн идея: чистая

мвн идея: идея

После этого я смог собрать как из intellij IDE, так и из командной строки.

Ответ 11

Я не могу заставить это работать с компилятором javac, и я получаю ту же ошибку.

Ошибка: (9, 14) java: пакет lombok не существует

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

Однако я пытался частично работать с компилятором eclipse. Я говорю частично, потому что, хотя сборка проходит успешно, редактор все еще жалуется на "Не удается разрешить символ".

Идея - публикация сообщества 15.04 Ломбок - 1.16.6 Плагин Lombok (https://github.com/mplushnikov/lombok-intellij-plugin) - 0.9.8 JDK - 1.8.0_51

Обновление: Хорошо, я наконец получил эту работу. Mine был проектом gradle, а ломбок был настроен как обычная "предоставленная" конфигурация. Работала отлично после добавления этого в build.gradle

idea {
 module {
     scopes.PROVIDED.plus += [configurations.provided]
    }
}

Итак, 3 шага

  • Установите плагин Lombok из меню Файл- > Настройки- > Плагины
  • Включить обработчик аннотации (работает компилятор javac)
  • Убедитесь, что у вас есть build.gradle или pom.xml, обновленный для идеи, если вы добавляете lombok в качестве настраиваемой конфигурации.