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

使用protoc生成gRPC代码时为何缺失GreeterGrpc.java文件?

gRPC GreeterGrpc.java 缺失原因及解决办法

你的protoc命令缺少gRPC服务代码的输出参数,这是导致GreeterGrpc.java未生成的核心原因。

Gradle的com.google.protobuf插件会自动处理两类代码生成逻辑:

  • 消息结构类:由protoc原生Java生成器负责,对应命令中的--java_out参数
  • gRPC服务桩代码:由protoc-gen-grpc-java插件单独生成,需要通过--grpc-java_out参数指定输出目录

你当前的命令仅指定了--java_out,只触发了消息类的生成,并未触发grpc-java插件的服务代码生成流程,因此GreeterGrpc.java不会被创建。

修正后的protoc命令

同时生成消息类和gRPC服务代码,需补充--grpc-java_out参数,示例命令如下:

protoc --plugin=protoc-gen-grpc-java --java_out=. --grpc-java_out=. .\src\main\proto\helloworld.proto

参数说明

  • --java_out=.:指定消息相关Java文件(如HelloRequest.java)的输出根目录,可按需修改路径
  • --grpc-java_out=.:指定gRPC服务代码(即GreeterGrpc.java)的输出根目录,建议和消息类输出目录保持一致,或指定到项目源码目录(如./src/main/java)

执行修正后的命令后,就能得到与Gradle插件生成完全一致的文件结构,包含缺失的GreeterGrpc.java。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 01:51:03