问题标签 [scalapb]
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.
scala - 使用 ScalaPBC 为 Scala 2.10 编译协议缓冲区?
我正在尝试使用 Trueaccord 的 ScalaPBC 将一个简单的 protobuf 文件编译为 Scala。我仅限于 Scala 2.10,并且由于对案例类的实现限制(“案例类不能有超过 22 个参数”),因此无法编译生成的类。
我将 Trueaccord 的 scalapb-runtime 和 compilerplugin 用于 Scala 2.10 版本 0.4.20 和 protobuf-java 版本 2.6.1。
这是我正在编译的 protobuf(这些字段实际上没有任何意义):
有没有办法将上面的 protobuf 编译成适用于 Scala 2.10 的 Scala 代码?
java - 使用 ScalaPB 中的协议缓冲区生成 Java 和 Scala 类
我一直在使用sbt-protobuf从 proto 定义文件生成 Java 类。我现在也想生成 Scala 类。为此,我尝试使用ScalaPB插件。目标是src/main/protobuf/
在项目中有一个目录,并根据这些定义生成 Java 和 Scala 类。
问题是当我在我的项目中添加 ScalaPB 依赖项时,它会停止生成 Java 类(它只生成 Scala 案例类)。
事实上,试图修改任何传统的 sbt-protobuf 设置,总是会导致这个(或类似的)错误消息:
我不确定这两个问题是否相关。想法是更改protocOptions
以强制生成 Java 类。
scala - 如何通过 Akka Tcp 发送和接收 protobuf 消息
我将ScalaPB用于我的 protobuf 编译器,它为我的协议缓冲区生成 Scala 案例类、解析器和序列化程序。
由于 ScalaPB,我在 .proto 文件中有一个简单的 protobuf 消息,该文件已编译为 Scala 案例类。
该文件已编译并允许我执行以下操作:
我有一个 Akka 演员处理 TCP 连接。
如果我向 my 发送Move
protobuf 消息PacketHandler
,它是否会成功匹配我的Move
案例类以及我如何编写 my receive
?
如何发送Move
protobuf 消息?假设当它成功匹配Move
protobuf 消息时,它会回显它。
我没有客户来测试我的PacketHandler
演员,所以我一直在使用 telnet。
了解编码消息的确切外观也很有用,Move
这样我就可以通过 telnet 创建连接并通过线路发送编码消息并测试它在到达时是否被解码PacketHandler
。
scala - 如何序列化/反序列化使用 ScalaPB 的“oneof”的 protobuf 消息?
我正在使用 ScalaPB 编译我的 Scala 案例类以序列化我的 protobuf 消息。
我有一个.proto
包含以下消息的文件:
我如何WrapperMessage
知道我想在Login
里面放一条消息msg
?
现在假设我正在WrapperMessage
通过网络收到一个;如何使用 ScalaPB 案例类方法反序列化消息?
scala - 将多个 scalapb 源目录添加到多项目 SBT 构建
我在理解 scalapb 的语法时遇到了一些困难,特别是我正在尝试为多项目 SBT 构建添加多个 .proto 源目录。
我的项目结构如下:
我的 build.sbt 如下:
当我运行时sbt compile
,我收到以下错误消息:
有人可以指出我正确的方向吗?我在这里无法理解一些基本概念......
编辑
好的,所以我指向了 protoDirectories 的错误顺序。我已经修改了 build.sbt 以反映新的变化。我仍然有一个问题,我的 .proto 文件没有在子项目中编译。如果我将 .proto 文件移动到根目录 /main/src/protobuf,它们编译得很好。
scala - 在 SBT 任务中手动调用 ScalaPB 编译器
我正在使用ScalaPB来合成 Scala 类,以便将我的数据与Protobuf表示进行转换。默认情况下,SBT 安装程序会钩入sbt compile
以生成文件夹下的target
文件。
因为我希望我的.proto
文件很少更改,所以我宁愿在它们发生更改时手动调用 ScalaPB 进程,并将生成的文件置于版本控制之下。这与我用于Slick 的代码生成功能的方法相同。
我可以做类似的事情:
但我不确定如何使用自定义输入和输出从 SBT 调用该过程。
我最近的尝试:
我收到以下错误:
scala - ScalaPB 在 build.sbt 中无法识别
按照 scalaPB 的说明,我已将该文件添加project/scalapb.sbt
到我的 intelli j 项目中。这是文件本身 addSbtPlugin("com.trueaccord.scalapb" % "sbt-scalapb" % "0.4.20")
我已将以下几行添加到我的build.sbt
:
我遇到的问题是,当 intelli j 尝试刷新 sbt 构建时,它有以下消息:illegal start of simple expression import com.trueaccord.scalapb.{ScalapbPlugin => PB}
scala - 在akka post路由上缺少FromRequestUnmarshaller [Entity]
首先让我说我对 akka-http 很陌生,我所读的书都没有很好地涵盖编组主题。所以这对我来说有点像黑匣子。我能够获得以下 (Un)Marsheller,它能够根据请求标头返回 json 和 protobuf。
这部分代码工作正常,我在 akka-http 中定义了一个 get 路由,它工作正常。
我面临的问题是在邮寄路线上。
在编译期间,我收到以下错误
我不确定我到底错过了什么。我需要定义一个implicit FromRequestUnmarshaller
吗?如果是这样,它应该有什么?
maven - 来自 https://github.com/aegnor/scalapb-maven-example 的 scalapb-maven-example 给了我错误
我正在尝试从https://github.com/aegnor/scalapb-maven-example运行示例,但出现以下错误。
[错误] 无法在项目 scalapb-maven 上执行目标 org.codehaus.mojo:exec-maven-plugin:1.5.0:java (generate-scala-protobuf-classes):执行目标 org 的 generate-scala-protobuf-classes .codehaus.mojo:exec-maven-plugin:1.5.0:java 失败:插件 org.codehaus.mojo:exec-maven-plugin:1.5.0 或其依赖项之一无法解析:未能找到 com.trueaccord https://repo.maven.apache.org/maven2中的.scalapb:scalapbc:jar:0.4.20已缓存在本地存储库中,直到中央的更新间隔已过或强制更新后才会重新尝试解析 -> [帮助1]