【问题标题】:Specify base package in protobuf compilation in golang在golang的protobuf编译中指定基础包
【发布时间】:2019-03-04 12:21:44
【问题描述】:

我有 golang 包 github.com/user/protoapp,在这个包中我有文件夹 proto 包含 protobuf 文件。

github.com/user/protoapp
|-proto
|-proto/app1
|-proto/app2

app1app2 中的proto 文件有对应的包app1app

来自proto/app1 的原始文件正在从proto/app2 导入文件,如import "app2/messages.proto";app1.pb.go 中编译后变为import app2protoapp 无法编译。如何使 *.pb.go 文件中的导入变为 import "github.com/user/protoapp/proto/app2" 而不是 import "app2"

【问题讨论】:

    标签: go protocol-buffers


    【解决方案1】:

    你需要在你的 proto 中导入一个完全合格的路径,就像在 Go 中一样:

    而不是import "app2/messages.proto";

    试试import "github.com/user/protoapp/proto/app2/messages.proto";

    【讨论】:

      【解决方案2】:

      永远不要指定半路径“/app2/messages.proto”它不会工作。

      1. 指定完整的导入名称
      import "github.com/user/protoapp/proto/app2/messages.proto";
      

      1. 使用包名进行定义
      //if we does'nt add package we define it will show error
      package messagedata;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-07-02
        • 2010-11-28
        • 1970-01-01
        • 2013-02-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多