【问题标题】:Gradle deprecated annotation processor warnings for lombokGradle 已弃用 lombok 的注释处理器警告
【发布时间】:2018-05-06 17:54:14
【问题描述】:

升级到 gradle 4.7 后,我之前没有警告的构建现在会发出以下警告:

在编译类路径中检测到以下注释处理器:“lombok.launch.AnnotationProcessorHider$AnnotationProcessor”和“lombok.launch.AnnotationProcessorHider$ClaimingProcessor”。 不推荐在编译类路径上检测注释处理器,Gradle 5.0 将忽略它们。请改为将它们添加到注释处理器路径。如果您不打算使用注释处理器,则可以使用“-proc:none”编译器参数来忽略它们。

注释处理器似乎已被弃用,gradle 5.0 版将不支持注释处理器。

我的项目使用 lombok,它需要注释处理器,所以使用 -proc:none 不是一个选项。发布 5.0 版时也不会停止使用 Gradle。

我该怎么做:

  • 停止警告,然后
  • 确保我的项目将在未来的 Gradle 版本中继续构建?

【问题讨论】:

    标签: java gradle warnings lombok annotation-processing


    【解决方案1】:

    将 lombok 依赖类型从 compile 更改为 annotationProcessor,因此 build.gradle 文件中的依赖部分应如下所示:

    dependencies {
        compileOnly('org.projectlombok:lombok:1.16.20')
        annotationProcessor 'org.projectlombok:lombok:1.16.20'
        // compile 'org.projectlombok:lombok:1.16.20' <-- this no longer works!
        // other dependencies...
    }
    

    【讨论】:

    • 当我这样做时,我得到:“在 org.gradle.api.internal.artifacts 类型的对象上找不到参数 [org.projectlombok:lombok:1.16.20] 的方法 annotationProcssor() .dsl.dependencies.DefaultDependencyHandler"
    • 是的,由于 lombok 暂时没有为其 API(注释)和注释处理器发布单独的 jar 文件,您必须将 jar 文件添加到 compile 和 @ 987654326@依赖配置
    • 我得到:找不到方法 compileOnly()
    • @BriOnH 你用的是什么版本的 gradle 和 java?
    【解决方案2】:

    如果您的项目包含测试,那么您需要以下配置才能完全摆脱 gradle 警告:

    dependencies {
      compileOnly "org.projectlombok:lombok:1.18.2"
      testCompileOnly "org.projectlombok:lombok:1.18.2"
      annotationProcessor "org.projectlombok:lombok:1.18.2"
      testAnnotationProcessor "org.projectlombok:lombok:1.18.2"
    }
    

    调整龙目岛版本以适应。

    【讨论】:

    • 仍然相关。升级到 java 11 时似乎修复我的构建的唯一方法
    【解决方案3】:

    Gradle added annotationProcessor in 4.6 和 Lombok 是一个注释处理器,尽管他们的文档在使用 Gradle 时并不清楚这一点,但他们也意识到这一点,因为他们在使用 Android Studio 时推荐它。 所以简短的回答是使用:

    dependencies {
        compileOnly('org.projectlombok:lombok:1.18.0')
        annotationProcessor('org.projectlombok:lombok:1.18.0')
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-17
      • 2011-01-06
      相关资源
      最近更新 更多