问题标签 [protobuf-java]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
160 浏览

protocol-buffers - 将 protobufs 文件发送到 API 端点

所以我有一个 API 端点,它应该获取 protobufs bin 文件。它是用 C# 编写的并使用 protobufs-net。

当我尝试将文件发送到此端点时,出现以下错误:

RUnexpected end-group in source data; this usually means the source data is corrupt

我尝试了以下请求(从 bin 文件解码):

当我尝试上传 bin 文件本身时,出现以下错误:

请求是:

我尝试了内容类型application/x-protobufapplication/octet-stream

我发送正确吗?我怎样才能发送文件。(我在这部分使用了 burp 套件)

0 投票
2 回答
3808 浏览

android - gRPC 客户端:编译文件出错(io.grpc.protobuf 不存在)

我用 Python 做了一个简单的 protobuf+gRPC 服务器/客户端示例,现在想用一个 Android Java 客户端来完成它。但是,我在文档中苦苦挣扎并使其大部分工作(.proto 在 Android Studio 中编译),但现在我在输出 *Grpc.java 文件中出现错误(即,如果我修复它,它只会被编译器覆盖):

由于我从 io.gprc 和 com.google 的 protobuf 收到错误,我怀疑我的 gradle 中存在定义冲突,但我找不到/解决它(经历了几个“教程”,混合使用 grpc 和谷歌资源似乎很常见)。

这是我的 build.gradle:

任何帮助表示赞赏!

0 投票
2 回答
1943 浏览

android - 任务“:app:mergeExtDexXXXDebug”执行失败

我在用

Android Studio 3.5、gradle-5.4.1-all.zip、com.android.tools.build:gradle:3.5.0、org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.50

重建项目时出现错误:

出了什么问题:任务“:app:mergeExtDexProductionDebug”执行失败。无法解析配置“:app:productionDebugRuntimeClasspath”的所有文件。

无法转换工件 'protobuf-java.jar (com.google.protobuf:protobuf-java:3.10.0)' 以匹配属性 {artifactType=android-dex, dexing-enable-desugaring=true, dexing-is-debuggable=是的,dexing-min-sdk=23,org.gradle.usage=java-runtime-jars}。

DexingWithClasspathTransform 执行失败:C:\Users\xxx\.gradle\caches\modules-2\files-2.1\com.google.protobuf\protobuf-java\3.10.0\410b61dd0088aab4caa05739558d43df248958c9\protobuf-java-3.10.0.jar .

dexing 时出错。

我有谷歌,但我无法为这种情况找到解决方案

你能帮我解决这个问题吗?

提前致谢。

0 投票
1 回答
76 浏览

protocol-buffers - 用协议缓冲区 3 保存 java int[] 的最小方法?

我有一个包含数百万个 int 的复杂对象

int[] ints = new int[1000000]

如果我直接通过ByteBuffer它的文件大小保存该值5MB

当我将该值保存到协议缓冲区对象时,它将每个值保存intInteger. 然后当我将该字节 [] 流保存到文件时它的文件大小超过8MB

似乎协议缓冲区不提供原始数组类型。

有没有办法(或技巧)来减少包含数百万个整数的协议缓冲区对象的字节 [] 大小?

0 投票
1 回答
1279 浏览

json - 如何在 JMeter 中将 JSON 转换为协议缓冲区?

我正在使用 JMeter(5.2.1) 来测试协议缓冲区。我的老板想将 protobuf 数据发送到 JMeter 中的服务器。

所以,我一直在谷歌上搜索,但我找不到任何相关文件。

有类似的转换方法,但我不知道它是否正确。

  1. 在 JMeter 插件管理器上添加“协议缓冲区插件”-> 找不到任何插件。
  2. 使用 Java、Beanshell 或 Groovy 预处理器时加载“.jar”文件。
  3. 创建自己的插件

我认为,第二种方式非常合理。

如果我是对的,您能否给我一些关于获取脚本语言的正文数据的想法?

谢谢。

0 投票
0 回答
175 浏览

java - 从 Protobuf 生成非最终类

我在我的一个 Java 项目中使用 Protobuf,最近遇到了一个需要扩展 Protobuf 生成类的用例。从文档看来,生成的类将始终是不可变的(使用 final 关键字生成的类)。有没有办法用 Protobuf 生成非最终类?

将感谢某人对此的回应。谢谢

0 投票
1 回答
141 浏览

java - spring boot restful应用程序中如何响应pbf文件?

我有一个这样的 pbf 文件,我想用spring boot 2.2.2.RELEASE resfull 应用程序来响应它。Mapbox响应服务器如下,我想用spring boot来实现它:

Mapbox 响应标头

Mapbox Content-Type 是application/x-protobuf,如何在 spring boot restfull 应用程序中做到这一点?

0 投票
1 回答
628 浏览

java - 如何从 Java 中读取 proto3 自定义选项

鉴于以下服务:

我想从 Java 中读取选项。我的理解是以下代码应该可以工作:

但是,这不会编译,抱怨无法解决方法的键入问题。

我正在尝试遵循:https ://developers.google.com/protocol-buffers/docs/proto.html#customoptions

所以问题是,我如何从 Java 中读取选项?

0 投票
1 回答
180 浏览

protocol-buffers - 如何以 protobuf 3 格式表示 XMLGregorianCalendar

我有一个带有时间的 xml

我需要以 proto3 格式表示它并发送生成的 java 类。使用什么数据类型?我试过 google.protobuf.Timestamp 但这不符合要求。

0 投票
1 回答
1132 浏览

java - 如何在没有 java 外部类的情况下将 protobuf 消息用作 java 类?

我想用 My.proto 生成 java 类:

使用后protoc --java_out=./ My.proto会有:com.my.test.My.java

我怎么能生成像这样的java类: