我一直在使用protobuf来生成内部后端消息但是当我搬到新的笔记本电脑并再次设置protoc时,它似乎不再生成有效的java代码了。
我正在使用最新的Ubuntu 16.04并已下载最新的protoc
$ protoc --version
libprotoc 3.5.1
使用
构建它,没有错误或警告protoc --java_out=<javapath> --python_out=<pythonpath> messages.proto
Eclipse / maven显示的消息是:
The method parseUnknownFieldProto3(CodedInputStream, UnknownFieldSet.Builder, ExtensionRegistryLite, int) is undefined for the type MessageA.Request Messages.java ...path, line etc...
snip, more of the same for other messages
Messages.Shutdown Messages.java ...path...
The method setUnknownFieldsProto3(UnknownFieldSet) is undefined for the type GeneratedMessageV3.Builder<Messages.Request.Builder> Messages.java ...path, line etc...
snip, more of the same
如果我手动将parseUnknownFieldProtoc3
重命名为parseUnknownField
并且对于SetUnknownFields相同,则错误会消失,但这感觉就像是错误的解决方案。
我错过了什么?