Spring Boot Gradle + Lombok-不建议在编译类路径上检测注释处理器

时间:2018-12-21 13:29:56

标签: java spring spring-boot gradle

我在https://start.spring.io/上创建新的gradle Spring boot application

包装属性中有gradle-4.10.2-bin.zip

1)为什么默认使用此版本的gradle?已经存在版本 5.0

2)如果我将lombok依赖项添加到项目中并尝试编译,则会得到以下信息:

  

在编译类路径上检测注释处理器已   不推荐使用。 Gradle 5.0将忽略   编译类路径。检测到以下注释处理器   在编译类路径上:   'org.springframework.boot.configurationprocessor.ConfigurationMetadataAnnotationProcessor'   和'org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor'和   'lombok.launch.AnnotationProcessorHider $ AnnotationProcessor'和   'lombok.launch.AnnotationProcessorHider $ ClaimingProcessor'。请   而是将它们添加到注释处理器路径。如果没有   要使用注释处理器,可以使用'-proc:none'   编译器参数忽略它们。

1 个答案:

答案 0 :(得分:2)

关于问题2):似乎您在错误的(不建议使用的)配置中添加了lombok依赖项(可能是compile?):对于这种类型,您应该使用专用的annotationProcessor配置依赖:

dependencies {        

    /* -------------- Lombok -----------------------------------------------------*/
    compileOnly "org.projectlombok:lombok:${lombokVersion}"
    annotationProcessor "org.projectlombok:lombok:${lombokVersion}"
    testCompileOnly "org.projectlombok:lombok:${lombokVersion}"
    testAnnotationProcessor "org.projectlombok:lombok:${lombokVersion}"

}

对于问题1):Gradle版本5.0是最近的版本,我想Spring Initializer尚未更新为默认使用此版本。

EDIT :查看与使用Gradle 5有关的开放式PR:https://github.com/spring-io/initializr/issues/741

现在

EDIT 2 (2019/04/04)Spring Initializr使用Gradle版本5.2.1生成Gradle项目。