小编Alb*_*rto的帖子

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

我正在使用 protobuf,并从以下 proto 文件生成 JAVA 类。

syntax = "proto3";
enum Greeting {
    NONE = 0;
    MR = 1;
    MRS = 2;
    MISS = 3;
}

message Hello {
    Greeting greeting = 1;
    string name = 2;
}

message Bye {
    string name = 1;
}

option java_multiple_files = true;
Run Code Online (Sandbox Code Playgroud)

现在我需要向生成的文件添加一些代码,我发现可以使用自定义插件(https://developers.google.com/protocol-buffers/docs/reference/java- generated#plugins)。我正在尝试用 Java 生成该插件,类似这样。

public class Test {
   PluginProtos.CodeGeneratorResponse.getDefaultInstance();
   /* Code to get generated files from java_out and use the insertion points */
   codeGeneratorResponse.writeTo(System.out);
}
Run Code Online (Sandbox Code Playgroud)

然后我跑

protoc --java_out=./classes --plugin=protoc-gen-demo=my-plugin --demo_out=. …
Run Code Online (Sandbox Code Playgroud)

protocol-buffers protoc protobuf-java

4
推荐指数
1
解决办法
3917
查看次数

标签 统计

protobuf-java ×1

protoc ×1

protocol-buffers ×1