java - 自定义 protobuf CodeGenerator 的问题

标签 java protoc protocol-buffers protocol-buffers-3

我在编写自定义协议(protocol)插件时遇到了麻烦。我发布了这个question但没有回应。至少请让我知道几个问题的答案。我真的需要这样做。我还没有迈出第一步。

  1. 从此question ,他们如何将 shell 脚本与插件名称 protoc-gen-code 链接起来。

    java -cp ./codegen.jar CodeGeneratorMain "$@"

  2. 关于问题和 google proto buffer 文档中的上述实现,路径中到底有什么..它是 Shell 脚本的路径吗? shell脚本会被命名为protoc-gen-code吗?

有人可以回答这些问题吗?

最佳答案

protoc 可以通过一次调用生成多种不同语言的代码。指定所需语言的方法是使用 --LANG_out 形式的命令行参数,其中 LANG 是您所需的语言。所以 --cpp_out 为您提供 C++ 代码、目录,--js_out 为您提供 JavaScript 等。如果 protoc 无法识别 LANG 然后它会查找名为 protoc-gen-LANG 的插件并将其用作代码生成器。

shell 脚本可以任意调用。假设您将其命名为 mygen.sh 并且您决定使用 mylang 作为 LANG。然后 protoc 调用如下所示:

protoc --plugin=protoc-gen-mylang=/path/to/mygen.sh --mylang_out=/some/dir some.proto

关于java - 自定义 protobuf CodeGenerator 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62205553/

相关文章:

mysql - 如何在 Golang protobuf v3 结构中获取 time.Time?

c++ - 如何正确使用生成的 protobuf 源?

protocol-buffers - 如何将我自己的代码从 proto 文件添加到 JAVA 生成的类中?

java - 使用 Spring 表达式语言断言从属性文件加载的属性(具有逗号分隔值)是否包含 "value"

java - SWT - 表查看器中心复选框

java - 在 Matlab 中从 Java GUI 调用 2 个类

protocol-buffers - 如何使用protoc解码protobuf文件

go - 使用proto_path运行protoc以生成Gocode时出现问题

c# - 在c#中反序列化protobuf

java - SHA 哈希似乎无法正常工作