我正在测试导入。另一个目录中的proto文件。
$GOPATH/src/A/A.proto
syntax = "proto3";
package A;
message SomeMsg {
string msg = 2;
int64 id = 3;
}
$GOPATH/src/B/B.proto
syntax = "proto3";
package B; import "A/A.proto";
message Msg {
SomeMsg s = 1;
}
我正在这样做:在文件夹A中:
protoc A.proto --go_out=.
然后在文件夹B中:
protoc B.proto --go_out=. --proto_path=$GOPATH/
但我会得到以下错误:
B. proto:文件不驻留在使用--proto_path(或-我)指定的任何路径中。您必须指定一个--proto_path包含此文件。请注意,proto_path必须是. proto文件名的确切前缀--Proto太笨了,无法弄清楚两条路径(例如绝对路径和相对路径)何时等价(这比您想象的要难)。
案例1:如果所有路径都是“绝对格式”,则'...'
无法在. proto文件的路径中使用。
案例2:另一个解释错误的词。相关路径和绝对路径不能在-I和. proto文件的路径中混合使用,因为“前缀”表示STRING-PREFIX,而不是“文件系统中的相关路径可以跳转到的路径”。
=========
它所在的. proto
和-I
似乎应该同时使用相对路径,否则会出错。
protoc B.proto--go\u out=--proto\u路径=$GOPATH/src/B--progo\u路径=
为我工作。
<代码>--progo\u路径=
也可能对您有所帮助。
这个错误对我来说似乎很清楚,它表明您需要指定B.proto所在的确切目录
protoc B.proto --go_out=. --proto_path=$GOPATH/src/B
或者如果您已经在文件夹B中,
protoc B.proto --go_out=.
我想在当前目录和所有子目录中递归编译protobuf文件。我正在运行以下脚本: 但我收到的只有以下错误: d:\Code\cloud dapi\third_party\googleapis\google\type\dayofweek.proto:文件不存在于使用proto_path(或-I)指定的任何路径中。您必须指定包含此文件的proto_path。请注意,proto_path必须是. prot
问题内容: 我正在测试从另一个目录导入.proto文件。 $ GOPATH / src / A / A.proto $ GOPATH / src / B / B.proto 我正在这样做:在文件夹A中: 然后在文件夹B中: 但是我会得到这个错误: B.proto:文件不位于使用–proto_path(或-I)指定的任何路径内。您必须指定包含此文件的– proto_path。请注意,proto_pa
问题内容: 我已经为“ Debian Linux”创建了一个Java应用程序。现在,我希望该应用程序读取放置在指定该应用程序的jar文件的目录中的文件。那么在File Object的参数中要指定什么呢? 在上述声明中,作为参数指定相对文件路径的参数是什么,该相对文件路径表示放置应用程序的jar文件的路径? 问题答案: 如果您知道文件的名称,那么当然 如果您不知道名称,则可以使用File对象的lis
我是新的登录,我试图添加文件路径动态,与属性文件,为windows和Linux。 下面是我的代码sinppet,我如何获得${MY_HOME}的值
问题内容: 如何使用类路径指定Spring项目中文件的位置? 这是我目前拥有的: 这是硬编码到我的桌面。我想要的是能够使用项目中文件的路径。 有什么建议? 问题答案: 我们在谈论标准吗?不会工作,但是没有它并不难。 maven目录的内容位于CLASSPATH的根目录中,因此您可以使用以下命令简单地检索它: 如果未找到结果(找不到资源),请随时将其包装在阅读器中: