gpt4 book ai didi

java - protobuf 2.3.0 和 2.6.0 之间的兼容性

转载 作者:行者123 更新时间:2023-11-30 08:31:59 28 4
gpt4 key购买 nike

我正在使用两组 protobuf 绑定(bind),A 和 B。

A 已使用协议(protocol)版本 2.3.0 生成,B 已使用协议(protocol)版本 2.6.0 生成。在我使用上述两者的应用程序中,我使用的是 protobuf-java 库版本 2.6.0

使用此设置,我在与 A protobuf 绑定(bind)交互时遇到以下类型的错误:

java.lang.RuntimeException: Generated message class "A$Builder" missing method "getAMessageBuilder"

关于 protobuf 模式之间的向后兼容性有很多帖子和问题,但是库版本呢? protobuf 版本之间是否有任何保证?

最佳答案

Protobuf for Java 支持针对较新的运行时库运行较旧的生成代码,还支持混合来自不同编译器版本的生成代码。但是,此支持仅从 3.0 版开始存在(请参阅更改日志条目 here )。因此,在您的情况下,如果可能,最好升级到 3.0(或更高版本)并使用 3.0 protoc 重新生成您的代码,但在此一次性步骤之后,您将不再需要担心在更新 protobuf 库版本时重新生成代码。

关于java - protobuf 2.3.0 和 2.6.0 之间的兼容性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40377111/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com