由于 Lombok 导致编译失败
Compilation failure because of Lombok
我有一个使用 gradle 作为构建工具和 lombok 的 springboot 应用程序。
当我执行 运行 ./gradlew build
命令时,compileJava
任务失败并显示许多与 lombok 注释相关的消息。示例:
> Task :compileJava
\my\path\ResolverDelegator.java:12: error: cannot find symbol
import static com.business.lunch.dto.OfferContent.builder;
^
symbol: static builder
location: class OfferContent
\my\path\LunchOfferService.java:40: error: cannot find symbol
lunchOfferRepository.findByLocation(lunchOffer.getLocation())
^
symbol: method getLocation()
location: variable lunchOffer of type LunchOffer
\my\path\ResolverDelegator.java:60: error: cannot find symbol
return builder()
^
symbol: method builder()
location: class ResolverDelegator
...
> Task :compileJava FAILED
FAILURE: Build failed with an exception.
我的 gradle 包装器设置为使用 Gradle 6.1
distributionUrl=https\://services.gradle.org/distributions/gradle-6.1-bin.zip
Lombok 版本是 1.18.12,我提到我的 build.gradle
文件中的 dependencies
块中有以下条目:
compileOnly 'org.projectlombok:lombok:1.18.12'
annotationProcessor 'org.projectlombok:lombok:1.18.12'
欢迎任何idea/suggestion。
javac 中有一个关于静态导入生成的方法的已知错误。 javac 得出结论,注释处理器不能 'fix' 它不正确,只是抛出一个错误。
修复方法是不静态导入它:
import com.business.lunch.dto.OfferContent;
....
return OfferContent.builder();
编辑:免责声明:我是龙目岛项目的核心贡献者。
我呢,碰巧导入错误。我有:
import groovy.transform.builder.Builder;
而不是 import lombok.Builder;
菜鸟错误。
我有一个使用 gradle 作为构建工具和 lombok 的 springboot 应用程序。
当我执行 运行 ./gradlew build
命令时,compileJava
任务失败并显示许多与 lombok 注释相关的消息。示例:
> Task :compileJava
\my\path\ResolverDelegator.java:12: error: cannot find symbol
import static com.business.lunch.dto.OfferContent.builder;
^
symbol: static builder
location: class OfferContent
\my\path\LunchOfferService.java:40: error: cannot find symbol
lunchOfferRepository.findByLocation(lunchOffer.getLocation())
^
symbol: method getLocation()
location: variable lunchOffer of type LunchOffer
\my\path\ResolverDelegator.java:60: error: cannot find symbol
return builder()
^
symbol: method builder()
location: class ResolverDelegator
...
> Task :compileJava FAILED
FAILURE: Build failed with an exception.
我的 gradle 包装器设置为使用 Gradle 6.1
distributionUrl=https\://services.gradle.org/distributions/gradle-6.1-bin.zip
Lombok 版本是 1.18.12,我提到我的 build.gradle
文件中的 dependencies
块中有以下条目:
compileOnly 'org.projectlombok:lombok:1.18.12'
annotationProcessor 'org.projectlombok:lombok:1.18.12'
欢迎任何idea/suggestion。
javac 中有一个关于静态导入生成的方法的已知错误。 javac 得出结论,注释处理器不能 'fix' 它不正确,只是抛出一个错误。
修复方法是不静态导入它:
import com.business.lunch.dto.OfferContent;
....
return OfferContent.builder();
编辑:免责声明:我是龙目岛项目的核心贡献者。
我呢,碰巧导入错误。我有:
import groovy.transform.builder.Builder;
而不是 import lombok.Builder;
菜鸟错误。