我为我工作的公司开发了一个C#应用程序。一些数据对象使用协议缓冲区序列化。我现在正致力于在公司也开发的Java应用程序中反序列化这些对象。在我的开发机器上一切正常。但是,如果我尝试在不同的机器上运行我的测试项目,则会失败。有些成员没有填充值。
是否有一些我不知道的Protobuf依赖?我通过编译2.3.0源代码获取Protobuf.jar文件。
如果需要,我可以发送我的测试项目。
编辑:
不确定我做了什么,但我的测试项目现在正在运行。但是,当我将文件添加到应用程序的项目时,我得到“com.google.protobuf.InvalidProtocolBufferException:协议消息标记具有无效的线路类型”。
可能会导致此异常的不同之处是什么?
消退:
当我将它复制到主项目单元测试时,我试图反序列化的文件被破坏了。我所要做的就是删除文件并将其替换为我所知道的版本。成功!