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

如何用Kotlin DSL配置Protocol Buffers 0.9.x?解决Gradle同步错误

解决Protobuf Gradle插件0.9.1的Kotlin DSL配置错误

问题原因

Protobuf Gradle插件从0.8.x升级到0.9.x后重构了配置API,原有的plugins.create("java")语法不再适用——标准代码生成插件(如Java、Kotlin)已作为任务的扩展属性直接暴露,无需手动创建,这就是你遇到ExecutableLocator with name 'java' not found错误的核心原因。

正确的Kotlin DSL配置

替换你当前的protobuf配置块为以下代码:

protobuf {
    protoc {
        // 建议使用正式版protoc,RC版本可能存在兼容性问题
        artifact = "com.google.protobuf:protoc:21.0"
    }
    generateProtoTasks {
        all().forEach { task ->
            // 直接通过task的java扩展配置Lite选项
            task.java {
                option("lite")
            }
        }
    }
}

额外注意事项

  • 确保依赖中使用的protobuf-java-lite版本与protoc版本一致,避免版本不兼容:
    dependencies {
        implementation("com.google.protobuf:protobuf-java-lite:21.0")
    }
    
  • 如果需要生成Kotlin代码,配置方式类似:
    task.kotlin {
        option("lite")
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 00:35:16