一直用的是gradle 4.x版本,与lombok一直相安无事。今天新拉一个工程把gradle更新到5.6.2之后就出问题了,现象是这样的:如果代码中使用到了bulider
或toString
等由lombok注解提供的功能,比如这样:
在编译的时候gradle就会报错,而且报错信息是乱码:
中间绕了多少弯路就不说了,又是改编码又是调IDE的,全都是无用功。
gradle 5.0以后lombok的依赖方式发生了变化,以下是依赖的正确写法:
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
dependencies {
compileOnly group: 'org.projectlombok', name: 'lombok', version: '1.18.10'
annotationProcessor group: 'org.projectlombok', name: 'lombok', version: '1.18.10'
}
问题解决。