【问题标题】:Spring boot gradle + lombok - Detecting annotation processors on the compile classpath has been deprecatedSpring boot gradle + lombok - 在编译类路径上检测注释处理器已被弃用
【发布时间】:2018-12-21 13:29:56
【问题描述】:

如果我在 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 的答案。

标签: java spring spring-boot gradle


【解决方案1】:

关于问题 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 尚未更新为默认使用此版本。

编辑:请参阅与使用 Gradle 5 相关的公开 PR:https://github.com/spring-io/initializr/issues/741

现在编辑 2 (04/04/2019) Spring Initializr 使用 Gradle 版本 5.2.1 生成 Gradle 项目。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多