【发布时间】:2021-07-13 20:20:32
【问题描述】:
我正在使用 ScalaPB(版本 0.11.1)和插件 sbt-protoc(版本 1.0.3)尝试在 Scala 2.12 中使用 ProtocolBuffers 编译旧项目。读取documentation,我想将文件属性preserve_unknown_fields设置为false。但我的问题是,在哪里?我需要在哪里设置这个标志?在 .proto 文件上?
我还尝试通过在我的另一个 .proto 文件旁边创建一个 package.proto 文件来将该标志包含为包范围选项,该文件具有以下内容(指定为 here):
import "scalapb/scalapb.proto";
package eur.astrata.eu.bigdata.tpms.protobuf;
option (scalapb.options) = {
preserve_unknown_fields: false
};
但是在尝试编译时,出现以下错误:
[libprotobuf WARNING T:\src\github\protobuf\src\google\protobuf\compiler\parser.cc:648] No syntax specified for the proto file: package.proto. Please use 'syntax = "proto2";' or 'syntax = "proto3";' to specify a syntax version. (Defaulted to proto2 syntax.)
scalapb/scalapb.proto: File not found.
package.proto:1:1: Import "scalapb/scalapb.proto" was not found or had errors.
一开始我也尝试过syntax = "proto3";,但它不起作用。
任何帮助将不胜感激。
【问题讨论】:
-
应该在
src/main/protobuf -
@mfirry 谢谢。文件已经在那个位置
标签: scala protocol-buffers scalapb