【问题标题】:How to setup lombok annotationProcessing in modern gradle 4.6 environment?如何在现代 gradle 4.6 环境中设置 lombok annotationProcessing?
【发布时间】:2019-03-22 01:49:55
【问题描述】:

这是我的设置:

  • AndroidStudio Lombok 插件已安装
  • 在 AndroidStudio 设置中选中启用注释处理
  • Gradle 包装器使用的是 4.6 版
  • 我使用的是 kotlin 版本 1.2.71
  • 我正在使用 com.android.tools.build:gradle:3.2.1
  • 每次更改后我都尝试了“使缓存无效/重新启动 AndroidStudio”
  • Lo​​mbok 依赖项的定义如下:
应用插件:'com.android.application' 应用插件:'kotlin-android' 应用插件:'kotlin-android-extensions' 应用插件:'kotlin-kapt' 依赖{ 仅编译“org.projectlombok:lombok:1.18.2” kapt "org.projectlombok:lombok:1.18.2" }

当我构建应用程序时,我收到以下错误:

注释处理器现在必须显式声明。 发现编译类路径上的以下依赖项 包含注释处理器。 请将它们添加到 annotationProcessor 配置中。 - lombok-1.18.2.jar (org.projectlombok:lombok:1.18.2)

我也试过这个依赖设置:

应用插件:'com.android.application' 应用插件:'kotlin-android' 应用插件:'kotlin-android-extensions' 应用插件:'kotlin-kapt' 依赖{ 仅编译“org.projectlombok:lombok:1.18.2” 注释处理器“org.projectlombok:lombok:1.18.2” }

但后来我得到“找不到符号”的错误,因为 lombok 没有生成 getter/setter。

【问题讨论】:

    标签: android kotlin android-gradle-plugin lombok annotation-processing


    【解决方案1】:

    注解处理器现在必须显式声明。下列 发现编译类路径上的依赖项包含注解 处理器。

    请将它们添加到 annotationProcessor 配置中。 - lombok-1.18.2.jar (org.projectlombok:lombok:1.18.2)

    尝试将其添加为annotationProcessor

    annotationProcessor 'org.projectlombok:lombok:1.18.2'
    

    不过,请阅读:Is it possible to use Lombok with Kotlin?

    Lombok 不在您的源代码上运行,而是在 AST 上运行。反正就是 由 Java 在编译时运行的注解处理器 编译器。 Kotlin 编译器不使用这些注解 处理器。又见答案 https://stackoverflow.com/a/35530223/2621917 直接来自马的 嘴巴。

    【讨论】:

    • 致您的第一部分:抱歉,粘贴了错误的代码 sn-p。我的第二次尝试是将其声明为 annotationProcessor,但随后我得到“找不到符号”错误。修复了我的问题中的 sn-p。对于您的第二部分:我也读过,但在我的 macbook 上,应用程序运行完美(我也在尝试在 Windows 机器上设置项目)。
    • 好的...一旦我更新所有内容,它就不会在我的 macbook 上运行。它只是有效的代码的旧版本。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-16
    • 2022-10-09
    • 1970-01-01
    • 2016-07-19
    • 2019-10-03
    • 2014-05-01
    • 2012-02-06
    相关资源
    最近更新 更多