升级到Android Studio 4.0后,Lombok注释不起作用

时间:2020-06-06 14:28:28

标签: android android-studio android-studio-plugin

将Android Studio升级到4.0版本后,Lombok注释停止工作。升级之前,相同的代码正在编译,没有错误。

代码:

    import lombok.AllArgsConstructor;
    import lombok.Builder;
    import lombok.Getter;
    import lombok.experimental.Accessors;

    @Getter
    @Builder
    @Accessors(fluent = true)
    @AllArgsConstructor
    public class UrlData {

        private int id;
        private String url;

    }

在尝试编译时,我收到以下警告,最后得到一个错误(不确定所有警告是否都相关):

> Task :mycorelib:kaptDebugKotlin
[WARN] Incremental annotation processing requested, but support is disabled because the following processors are not incremental: org.greenrobot.eventbus.annotationprocessor.EventBusAnnotationProcessor (NON_INCREMENTAL).
> Task :app:kaptMyPrjDebugKotlin
warning: unknown enum constant KotlinClass$Kind.CLASS
  reason: class file for kotlin.jvm.internal.KotlinClass$Kind not foundwarning: You aren't using a compiler supported by lombok, so lombok will not work and has been disabled.
  Your processor is: org.jetbrains.kotlin.kapt3.base.incremental.IncrementalProcessingEnvironment
  Lombok supports: OpenJDK javac, ECJ
error: cannot find symbol
        startActivity(WebViewActivity.getIntent(getActivity(), urlData.url()));
                                                                       ^
  symbol:   method url()
  location: variable urlData of type UrlData

是否可以解决此问题,还是应该删除不受支持的lombok?

1 个答案:

答案 0 :(得分:0)

诀窍似乎是忽略Studio / IntelliJ的建议,将compileOnly-lombok行替换为annotationProcessor,并在build.gradle中保留两行

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