Grpc complile 出现 protoc did not exit cleanly error

172 阅读1分钟

Grpc complile 出现 protoc did not exit cleanly error

我和同事共同开发一个repository,同事修改了 grpc 文档后上传,由于本地改动比较乱而且想要开一个临时的分支repo方便分屏对照,所以拉了一个新的分支到本地新建文件夹。

但是我在尝试本地跑一下测试案例时,发现complile失败,报错protoc did not exit cleanly error

本来以为是grpc相关的maven版本冲突或者本地cache冲突,但是在检查之后发现和这些无关,尝试相关方法后并没有起效。

重新检查更详细的log, 显示 protoc failed: "C:/XXX/RepositoryName" is not recognized as an internal or external command, operable program or batch file.

意识到可能是新的repo文件夹命名导致的问题。

前文提到这是把相同repository放到新的文件夹下。本地已经有一个,所以我命名时为了区分新旧repo,取名为RepositoryName(refer)

我之前也有过类似的操作,不过并没有出现什么问题,但是这回涉及到grpc的compile就出bug了。

可能由于 () 在grpc中是异常字符?从而导致文件夹名字通不过complie,生成不了对应的Grpc Class。

于是我尝试改动文件夹名字,从(refer)改到_refer后,compile成功,本地跑测试也成功了。

奇怪的小bug,记录一下,监督自己之后养成更加规范的命名习惯。