You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级Lombok Gradle插件至8.10后遇generateEffectiveLombokConfig依赖错误

解决Lombok Gradle插件升级后任务依赖冲突问题

升级Lombok Gradle插件从8.6到8.10版本后,Gradle抛出任务依赖错误,核心原因是新版本新增的generateEffectiveLombokConfig任务会扫描项目中的Java源码目录,但它未明确依赖生成OpenAPI客户端代码的generateClientCode任务,而后者的输出目录正是前者的扫描目标之一,违反了Gradle的增量构建依赖规则。

以下是几种可行的解决思路:

1. 明确声明任务依赖(推荐)

给generateEffectiveLombokConfig任务添加对generateClientCode的依赖,确保代码生成完成后再执行Lombok配置扫描。

Groovy DSL(build.gradle):

tasks.named('generateEffectiveLombokConfig') {
    dependsOn tasks.named('generateClientCode')
}

Kotlin DSL(build.gradle.kts):

tasks.named<LombokConfig>("generateEffectiveLombokConfig") {
    dependsOn(tasks.named("generateClientCode"))
}

这种方式完全符合Gradle的依赖管理规范,能保证任务执行顺序的正确性,同时支持增量构建。

2. 排除生成代码目录的扫描

如果OpenAPI生成的代码不需要Lombok处理,可以将生成目录从generateEffectiveLombokConfig的扫描范围中排除,避免任务间的依赖冲突。

Groovy DSL:

tasks.named('generateEffectiveLombokConfig') {
    // 使用相对路径保证跨环境兼容性
    exclude 'build/openapi-source/src/main/java'
}

Kotlin DSL:

tasks.named<LombokConfig>("generateEffectiveLombokConfig") {
    exclude("build/openapi-source/src/main/java")
}

3. 强制指定任务执行顺序(临时方案)

如果只是需要临时保证任务执行顺序,可使用mustRunAfter声明,但这种方式仅保证顺序,不建立真正的依赖关系,不推荐长期使用。

Groovy DSL:

tasks.named('generateEffectiveLombokConfig') {
    mustRunAfter tasks.named('generateClientCode')
}

Kotlin DSL:

tasks.named<LombokConfig>("generateEffectiveLombokConfig") {
    mustRunAfter(tasks.named("generateClientCode"))
}

内容的提问来源于stack exchange,提问作者kellyfj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 12:52:13