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

Windows10下protoc生成gRPC Java代码报路径相对化失败错误

报错原因

核心问题是protoc编译命令的参数格式写错了:java_out参数前漏了规定的双横杠--前缀。protoc的规则是所有编译参数都要带--开头,没有这个前缀的内容会被识别为待编译的proto文件路径,所以程序会去找名叫java_out=C:\proto\的文件,找不到就抛出你看到的错误。

另外还有两处不影响当前报错但后续容易出问题的笔误:

  • 存放proto文件的子文件夹名拼写成了empoloyee,正确拼写是employee
  • proto里的响应消息名写成了EmployeeeResponse,多了一个字母e,后续写业务代码调用时很容易因为拼错名找不到类
修复方案

直接修改run.bat里的编译命令,给java_out补上--前缀就行,修正后的可直接运行的命令如下:

set PROTO_FOLDER_PATH=C:\proto\empoloyee
set PROTO_PLUGIN_PATH=C:\proto\protoc-gen-grpc-java-1.47.0-windows-x86_64.exe
set OUTPUT_DIR=C:\proto

protoc --proto_path=%PROTO_FOLDER_PATH% --plugin=protoc-gen-grpc-java=%PROTO_PLUGIN_PATH% --grpc-java_out=%OUTPUT_DIR% --java_out=%OUTPUT_DIR% %PROTO_FOLDER_PATH%\employee.proto

运行修正后的命令,就会在C:\proto目录下,按照你在proto里配置的ir.farshad.services包名,生成对应的Java消息类、gRPC服务绑定代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 14:36:24