【发布时间】:2021-11-24 18:55:39
【问题描述】:
我在 Eclipse 中使用 protoc-jar-maven-plugin (3.11.4) 从 proto 文件中自动生成 grpc 存根。 生成代码时,我注意到来自 proto ("proto3") 的 Bool 数据类型字段没有作为生成的类的一部分出现。
不知道为什么只有 bool 数据类型字段被遗漏,而所有字符串数据类型都正确出现。
【问题讨论】:
标签: grpc-java
我在 Eclipse 中使用 protoc-jar-maven-plugin (3.11.4) 从 proto 文件中自动生成 grpc 存根。 生成代码时,我注意到来自 proto ("proto3") 的 Bool 数据类型字段没有作为生成的类的一部分出现。
不知道为什么只有 bool 数据类型字段被遗漏,而所有字符串数据类型都正确出现。
【问题讨论】:
标签: grpc-java
我无法重现此问题。这是pom.xml 和原型:https://gist.github.com/sergiitk/d16891f15b4e2506848f40ebfb62a7ec
我使用了 grpc-java repo 中的 helloworld.proto 示例,并将 bool result = 2; 添加到 HelloReply。
运行 maven 后,结果HelloReply.java 有结果字段,正如预期的那样:
public static final int RESULT_FIELD_NUMBER = 2;
private boolean result_;
/**
* <code>bool result = 2;</code>
* @return The result.
*/
public boolean getResult() {
return result_;
}
这里是 maven 日志:
[INFO] --- protoc-jar-maven-plugin:3.11.4:run (default) @ playground-maven ---
[INFO] Protoc version: 3.11.4
protoc-jar: protoc version: 3.11.4, detected platform: osx-x86_64 (mac os x/x86_64)
protoc-jar: embedded: bin/3.11.4/protoc-3.11.4-osx-x86_64.exe
protoc-jar: executing: [/var/folders/rv/f07pfszx34d0lrp44_lw7zhw00rg80/T/protocjar8753023980661031420/bin/protoc.exe, --version]
libprotoc 3.11.4
[INFO] Protoc command: /var/folders/rv/f07pfszx34d0lrp44_lw7zhw00rg80/T/protocjar8753023980661031420/bin/protoc.exe
[INFO] Input directories:
[INFO] /Users/sergiitk/Development/playground/playground-maven/src/main/protobuf
[INFO] Output targets:
[INFO] java: /Users/sergiitk/Development/playground/playground-maven/target/generated-sources (add: main, clean: false, plugin: null, outputOptions: null)
[INFO] /Users/sergiitk/Development/playground/playground-maven/target/generated-sources does not exist. Creating...
[INFO] Processing (java): helloworld.proto
protoc-jar: executing: [/var/folders/rv/f07pfszx34d0lrp44_lw7zhw00rg80/T/protocjar8753023980661031420/bin/protoc.exe, -I/Users/sergiitk/Development/playground/playground-maven/src/main/protobuf, --java_out=/Users/sergiitk/Development/playground/playground-maven/target/generated-sources, /Users/sergiitk/Development/playground/playground-maven/src/main/protobuf/helloworld.proto]
[INFO] Adding generated sources (java): /Users/sergiitk/Development/playground/playground-maven/target/generated-sources
【讨论】: