我有一个.proto
文件定义,需要导入,"google/protobuf/descriptor.proto"
因为我使用“
自定义选项”。
因此,在我的.proto
文件中,我这样做:
import "google/protobuf/descriptor.proto";
package ...;
...
由于我的文件没有编译有关该依赖项的抱怨,因此我得到了描述符文件的副本,将其放置在与我的原型文件相同的目录中。
这解决了问题,但我不认为这是正确的方法。现在,将descriptor.proto
gets与我的.proto
文件一起编译descriptor.proto
,从而在运行时进行了2次编译:
protobuf-java-2.5.0.jar
文件附带的那个.proto
文件一起编译的那个我认为--proto-path
应该以某种方式使用该选项,但不能完全确定什么是正确的方法。
感谢您的最佳做法提示!
当我在.proto中使用描述符时,我像
import "google/protobuf/descriptor.proto";
message AddressBook {
required google.protobuf.FileDescriptorSet proto_files = 1;
然后使用默认目录下的addressbookSD.proto生成Java(在Windows上):
protoc addressbookSD.proto --java_out=./ --proto_path=./ --proto_path=<protobuf-install-directory>\src
其中,< protobuf-install-directory >是协议缓冲区安装目录。关键是描述符.proto在
<protobuf-install-directory>\src\google\protobuf
protobuf导入策略中的级别必须与文件系统中的目录匹配,就像在Java中一样。
因此,我使用< protobuf-install-directory > \ src作为导入目录,目录结构必须为
<protobuf-install-directory>\src
+-- google
+-- protobuf
+-- descriptor.proto
在阅读这个相当长的问题之前,我提出了一个bughttps://github.com/GoogleCloudPlatform/python-docs-samples/issues/1103. 原型包和名称解析的留档状态 您可以使用其他定义。通过导入原始文件。导入另一个。在proto的定义中,您可以在文件的顶部添加一条import语句。 我的依赖于annotations.proto将HTTP/JSON
问题内容: 我正在使用gSoap将旧式C 系统重构为SOA。我们遇到了一些性能问题(非常大的XML),因此我的领导要我看一下协议缓冲区。我做到了,它看起来非常酷(我们需要C 和Java支持)。但是协议缓冲区是仅用于序列化的解决方案,现在我需要将其发送到Java前端。从C ++和Java角度来看,我应该使用什么来通过HTTP(只是内部网络)发送那些序列化的内容? PS。另一个人试图加速我们的gSoa
我试图在Windows上的Qt中使用google协议缓冲区。因此,我使用MingGW的msys从github编译了protobuf源代码。proto编译器(protoc)似乎工作得很好,但遗憾的是,它无法使用生成的。博士和。pb。从Qt环境中抄送文件。 将此添加到我的。pro文件: 但我仍然得到“未定义的引用…”当我试图编译这个类时,它使用了所有的方法。 代码必须正确,因为它在使用protoc和Q
试图使用Ionic 4中的协议缓冲区进行编码 我已经下载了协议并用它来生成一堆_pb.js文件,每个. proto文件一个。很好。 首先关注原型示例。这是示例代码: 我做了一些更改以匹配我的文件。更改proto文件的名称。但是我的proto文件中没有包名称。所以我只是使用了消息名称。首先这是我的. proto文件的开头: 下面是我修改后的代码: 这似乎不起作用。我的控制台显示: 我相信我已经成功地
根据示例代码https://developers.google.com/protocol-buffers/docs/cpptutorial,它们展示了如何解析二进制格式的原始文件。使用 我尝试删除文本格式的输入文件的,但在读取文件时仍然失败。我需要做什么才能读取文本格式的原始文件?
其中需要将路径设置为协议,以获取导入标准协议缓冲区(protobuf),如清空。proto和时间戳。在Windows和Dart中的proto? 运行协议时: protoc——dart\u out=grpc:lib/src/protos/generated-Iprotos-protos/organization。proto—plugin=protoc gen dart=D:\Users\Samuel