将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?
答案 0 :(得分:0)
诀窍似乎是忽略Studio / IntelliJ的建议,将compileOnly
-lombok行替换为annotationProcessor
,并在build.gradle中保留两行:>
compileOnly 'org.projectlombok:lombok:1.18.16'
annotationProcessor 'org.projectlombok:lombok:1.18.16'