当前位置: 首页 > 知识库问答 >
问题:

忽略布尔字段生成的grpc java代码

邢法
2023-03-14

我正在eclipse中使用protoc jar maven插件(3.11.4)从proto文件自动生成grpc存根。在生成代码时,我注意到proto中的my Bool数据类型字段(“proto3”)并不是生成的类的一部分。

不知道为什么只有bool数据类型字段会丢失,因为所有字符串数据类型都正确地出现在哪里。

共有1个答案

夹谷俊远
2023-03-14

我无法重现这个问题。这是pom.xml和原型:https://gist.github.com/sergiitk/d16891f15b4e2506848f40ebfb62a7ec

我使用了helloworld。grpc java repo中的proto示例,并添加了布尔结果=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

 类似资料:
  • 如何创建布尔流。FALSE,比如说,长度为100? 我一直在挣扎的是: 最初我打算创建一个。但是返回一个数组。所以合理地,我考虑使用流API作为一个方便的和几乎(1)操作工具; 没有no-params构造函数(2),因此我不能使用,因为它接受

  • 问题内容: 我有一些必须序列化为JSON的数据。我正在使用JSON.NET。我的代码结构与此类似: 问题是,我的JSON输出需要具有ON OR 或ON- 取决于所使用的字段(即不为null)。默认情况下,我的JSON如下所示: 我知道我可以使用,但这给了我如下所示的JSON: 我需要的是: 有没有简单的方法可以做到这一点? 问题答案: 是的,您需要使用。 但是由于结构是值类型,因此您需要将Fiel

  • 有没有一种方法可以忽略使用mapstruct在此代码示例中第三种方法的映射器的生成?

  • 问题内容: 在成功提交用户详细信息时,我从客户端获得了JSON。 由于未更新JSON中的某些元素,因此可以跳过。 在Go服务器端,我定义了一个等效的结构。 服务器成功将JSON字节编组到结构中。 但是对于未从客户端接收到的字段,默认情况下取消对字符串的硬编码解组为nil,对字符串数组解压缩为空数组。 例如,如果我获取json , 则不希望由元帅将其转换为。 简单起见,我希望它是 如何完全忽略该字段

  • 问题内容: 这可能是一个非常愚蠢的问题,但是对数据库表中的布尔字段建立索引是否会有很多好处? 在常见情况下,例如标记为“无效”的“软删除”记录,因此大多数查询都包含,这将有助于对该字段进行单独索引,还是应将其与其他常见搜索字段组合在一起?不同的索引? 问题答案: 没有。 您可以对要搜索的字段具有较高的选择性/基数进行索引。几乎所有表都消除了布尔字段的基数。如果有的话,它将使您的写入速度变慢(降低的

  • 我们已经将Findbugs配置为通过Maven在Jenkins上运行。 除其他外,它抱怨以下代码行SE_BAD_FIELD: 这个bug的描述是 Se:可序列化类中的非瞬态非可序列化实例字段(Se\u BAD\u字段) 这个可序列化类定义了一个非原语实例字段,它既不是瞬态的、可序列化的,也不是java的。并且似乎没有实现可外部化的接口或readObject()和writeObject()方法。如果