首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >生成无效java代码的原型

生成无效java代码的原型
EN

Stack Overflow用户
提问于 2018-01-26 08:47:30
回答 1查看 1.2K关注 0票数 5

我一直在使用protobuf来生成内部后端消息,但是当我移动到新的笔记本并再次安装protoc时,它似乎不再生成工作的java代码了。

我正在使用最新的Ubuntu16.04并下载了最新的原型

代码语言:javascript
复制
$ protoc --version
libprotoc 3.5.1

在没有错误或警告的情况下,使用

代码语言:javascript
复制
protoc --java_out=<javapath> --python_out=<pythonpath> messages.proto

Eclipse / maven显示的消息如下:

代码语言:javascript
复制
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也一样,那么错误就会消失,但这感觉是错误的解决方案。

我遗漏了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-26 09:21:30

听起来你在使用不匹配的生成代码和库代码。如果使用的是protoc 3.5.1,则需要3.5.1中的库代码;或者,如果使用的是库3.3.0,则需要3.3.0中的protoc

所有的版本都是这里,有3.5.13.3.0

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48458101

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档