protoc 命令中 --plugin 参数的目的是什么



我目前正在Protobuf部分工作,并使用protoc编译器将.proto文件编译为java类。在这个命令中,我们有一个名为 'plugin' 用作--plugin=EXECUTABLE。我浏览了官方文件,其中说

指定要使用的插件可执行文件。 通常,protoc 在 PATH 中搜索 插件,但您可以指定其他 不在此标志的路径中的可执行文件。 此外,可执行文件的形式可以是 名称=路径,在这种情况下,给定的插件名称 映射到给定的可执行文件,即使 可执行文件自己的名称不同。

但我仍然无法获得利用此参数的确切用例。请帮忙。

参考:我经历了 https://developers.google.com/protocol-buffers/docs/reference/cpp/google.protobuf.compiler.plugin

当您需要为基于 Protobuf 构建的框架生成代码时,--plugin选项非常有用。一个值得注意的例子是 gRPC。您可以使用 Java 的 gRPC 插件调用protoc,如下所示:

protoc --plugin=protoc-gen-grpc-java --grpc-java_out="$OUTPUT_FILE" --proto_path="$DIR_OF_PROTO_FILE" "$PROTO_FILE"

最新更新