我正在使用 ScalaPB(0.11.1 版)和插件 sbt-protoc(1.0.3 版)尝试在 Scala 2.12 中使用 ProtocolBuffers 编译一个旧项目。阅读文档,我想将文件属性设置preserve_unknown_fields
为false
. 但我的问题是,在哪里?我需要在哪里设置这个标志?在 .proto 文件上?
我还尝试通过在我的另一个 .proto 文件旁边创建一个 package.proto 文件来包含该标志作为包范围选项,该文件具有以下内容(如此处指定):
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";
一开始也尝试过,但它不起作用。
任何帮助将不胜感激。