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

Ломбок требует обработки аннотации

Я использую Android Studio 2.2 Preview 7, и плагин Lombok внезапно начал говорить: Annotation processing seems to be disabled for the project X и ссылку на настройки.

введите описание изображения здесь

Нажатие на уведомление не приведет меня в нужное место.

Какое исправление для этого?

4b9b3361

Ответ 1

Настройки, открытые нажатием на уведомление, - это настройки Per Project, и в этом случае это не то, что вам нужно.

Чтобы исправить это, перейдите к

  • File->Other Settings->Default Settings
  • Развернуть Build, Execution, Deployment
  • Развернуть Compiler
  • В Annotation Processors проверить Enable annotation processing
  • Вам может потребоваться повторно открыть проект, чтобы настройки вступили в силу.
  • Enjoy

Для полной справки - скриншот с соответствующим экраном настроек: введите описание изображения здесь

Ответ 2

С более новыми версиями gradle достаточно набрать эти строки в блок зависимостей build.rad.radio.exe: `

compile "org.projectlombok:lombok:1.16.16"
annotationProcessor "org.projectlombok:lombok:1.16.16"  

Синхронизируйте проект с gradle, и он будет работать.

Ответ 3

Во-первых, я не думаю, что удаление вашего проекта с экрана приветствия может иметь какой-то эффект. Просто подумайте об этом, удалив ваш проект из "последних проектов" на этом экране, он не воссоздает его, как можно изменить настройки по умолчанию на существующий проект?

Чтобы включить обработку аннотаций в существующем проекте, вам ничего не нужно удалять. Перейдите к YourAwesomeProject/.idea/compiler.xml и убедитесь, что у вас есть значение true "в следующем атрибуте: /project/annotationProcessing/[email protected].

Вот так:

<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="CompilerConfiguration">
    ...
    <annotationProcessing>
      <profile default="true" name="Default" enabled="true"><!-- here -->
        <processorPath useClasspath="true" />
      </profile>
    </annotationProcessing>
  </component>
</project>

Вам может потребоваться Файл → Недействительный кэш/Перезагрузка

Ответ 4

Для тех, кто имеет такую ​​же проблему, используя Android Studio 2.4+, ее не решают, делая какие-либо намеки выше, кроме ответа Яниса Пейсениекса.

Откройте свою Intellij IDEA 2017/Android Studio 2.4+ и перейдите к (Windows)

  • Файл- > Другие настройки- > Настройки по умолчанию
  • Развернуть Сборка, выполнение, развертывание
  • Разверните Компилятор и выберите Обработчики аннотации
  • Убедитесь, что включена Включить обработку аннотаций и Получить процессоры из класса проекта
  • Наконец, не в последнюю очередь обновляйте ваши проекты build.gradle с помощью фрагмента ниже. Игнорируйте намек на то, что его устарело, поскольку оно не используется (до сих пор. См. issue).

    defaultConfig {
        javaCompileOptions {
            annotationProcessorOptions {
                includeCompileClasspath = true
            }
        }
    }
    

Обнаружено, что существует очень простой способ сделать это без всех этих изменений выше!

Если вы установите процессор в gradle как ломбок, вы не будете использовать только при условии или testCompile. Вы должны добавить это, используя annotationProcessor, а также в свои зависимости. Пример:

dependencies {
    provided "org.projectlombok:lombok:1.16.16"
    annotationProcessor "org.projectlombok:lombok:1.16.16"
}

Спасибо Джеку Уортону за масляный нож, где я понял, как он его решил.

Совет. Вам может потребоваться аннулировать кеш и перезапустить, чтобы заставить его работать для некоторых обработчиков аннотаций, таких как lombok.

Ответ 5

Вероятно, отмеченного ответа было достаточно в то время, но я немного боролся с Android Studio 3 и Lombok 1.16.18. В любом случае у меня сработало следующее

в app > build.gradle добавить следующее

compileOnly 'org.projectlombok:lombok:1.16.18'
annotationProcessor 'org.projectlombok:lombok:1.16.18'

вы можете начать получать другие ошибки, так что если вы в своем MyApplication > lombok.config добавляете следующие строки

lombok.addGeneratedAnnotation = false
lombok.anyConstructor.suppressConstructorProperties = true

если у вас нет lombok.config просто lombok.config его

Выше были предложены разработчиком lombok в следующих постах
addGeneratedAnnotation
suppressConstructorProperties

Ответ 6

Руководство по установке с сайта lombok (lombok настроено для Android) говорит, что мы должны сделать две вещи

1, установите плагин lombok

2, добавить зависимости gradle

dependencies {
  compileOnly 'org.projectlombok:lombok:1.18.6'
  annotationProcessor 'org.projectlombok:lombok:1.18.6'
}

Но для меня плагин вызывает проблему. После того, как я отключил плагин, ошибка исчезла и ломбок все еще работает.

Ответ 7

Следуйте указаниям руководства по установке:

Gradle Убедитесь, что версия вашего плагина android >= 0.4.3 Используйте плагин gradle -lombok. Если вы не хотите использовать плагин, добавьте Ломбок в ваш блок зависимостей приложений (требуется Gradle v2.12 или новее):

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

Android Studio Следуйте предыдущим инструкциям (Gradle). К тому же чтобы правильно настроить проект Gradle, вам необходимо добавить Плагин Lombok IntelliJ для добавления поддержки lombok для Android Studio:

  • Перейдите в меню "Файл" > "Настройки" > "Плагины"
  • Нажмите "Обзор репозиториев"...
  • Поиск плагина Lombok
  • Нажмите "Установить плагин". Перезапустите Android Studio

https://projectlombok.org/setup/android

Ответ 8

Начиная с версии Android Studio v3.5 (август 2019 года) и ранее, настройки для процессора аннотаций отсутствовали. Однако этого достаточно для определения в build.gradle в разделе зависимостей:

dependencies {
...
    compileOnly 'org.projectlombok:lombok:1.18.8'
    annotationProcessor 'org.projectlombok:lombok:1.18.8'
...
}

Если Android-студия все еще жалуется на "Lombok требует обработки аннотаций", для меня это была переустановка плагина Lombok и "Invalidate Caches/Restart", которые устранили проблему.