Аннотации Ломбока не компилируются по идее 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:
- Откройте настройки/настройки IntelliJ.
- Перейдите к
Build, Execute, Deployment > Build Tools > Gradle > Runner
- Установите флажок "
Delegate IDE build/run actions to gradle
Преимущества этого обходного пути по сравнению с другими решениями на этой странице:
- Обработка аннотаций не требуется!
- Способна использовать Java-компилятор по вашему выбору (нет компилятора Eclipse)
- Не использовать багги-плагин-плагин-ломбок (хотя, возможно, кто-то еще может это решить)
- Нет параметров виртуальной машины
- Нет жестко закодированных путей к ломбокской банке
Одним из недостатков является то, что IntelliJ больше не будет использовать свой собственный тестовый бегун. Вместо этого тесты всегда запускаются через Gradle.
Ответ 8
Если вы используете Intellij на Mac, эта настройка, наконец, работала для меня.
Установки: Intellij
- Перейдите в раздел "Настройки", найдите "Плагины".
- Введите "Ломбок" в окне поиска плагинов. Ломбок - это несвязанный плагин, поэтому он не будет отображаться вначале.
- Нажмите "Обзор", чтобы найти несвязанные плагины
- Должен появиться "Плагин Ломбок". Выберите его.
- Нажмите зеленую кнопку "Установить".
- Нажмите кнопку "Перезапустить Intellij IDEA".
Настройки:
-
Включить обработчик аннотации
- Перейти к настройкам → сборка, выполнение, развертывание → настройки → компилятор → обработчики аннотации
- Файл → Другие настройки → Настройки по умолчанию → Компилятор → Обработчики аннотации
-
Проверьте, включен ли плагин Lombok
- IntelliJ IDEA-> Настройки → Другие настройки → Плагин Ломбок → Включить Ломбок
-
Добавьте банку Lombok в глобальные библиотеки и зависимости проекта.
- Файл → Структура проекта → Глобальные библиотеки (Добавить lombok.jar)
-
Файл → Структура проекта → Настройки проекта → Модули → Вкладка "Зависимости" = проверка ломбок
-
Перезапустить 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 в качестве настраиваемой конфигурации.