4

我目前正在研究 Google Protocol Buffers,需要生成动态消息。我已经定义了我的 .proto 文件,如下所示。

message TSInbound
{
  string id = 1;
  map<string,string> state = 2;
  map<string,string> reading =3;
}

AFAIK,我可以使用文件描述符集来创建动态消息。但是,这将涉及使用编译器来生成 desc 文件。我想在不编译 .proto 文件的情况下生成描述符。有没有办法使用自定义定义的 .proto 文件而不是使用 protoc 来动态创建消息?

4

1 回答 1

5

我想你在问:“有没有办法.proto在运行时动态解析文本文件以获取描述符。”

.proto解析器是用 C++ 编写的。它可作为库使用libprotoc.so。理论上,您可以围绕它编写一个 JNI 包装器以在运行时进行解析。但是,没有(官方的)纯 Java.proto文件解析器。

于 2016-03-18T17:40:45.657 回答