我有 2 个 .proto 文件:
第一个文件:
package com.test.model;
message ProtoModel {
required CustomObj custom=1;
}
第二个文件:
package com.test.model;
message CustomObj {
required string smth=1;
}
这里的问题是“CustomObj”被称为“未解析的引用”。
因此,我尝试将第二个文件导入第一个文件:
import "com/test/model/firstFile.proto"
package com.test.model;
message ProtoModel {
required CustomObj custom=1;
}
我仍然遇到同样的问题!
import 语句是相对于您调用位置的文件夹protoc
。
看起来您已将其视为相对于包而言。
例如如果(像我一样)你将这两个文件存储在src/main/resources
,您可以按如下方式调用协议:
protoc src/main/resources/firstFile.proto src/main/resources/secondFile.proto --java_out=src/generated/java
你的进口声明将是import "src/main/resources/firstFile.proto"
如果您想根据包名称将文件存储在子文件夹中,则只需在顶级文件夹名称之后相应地添加此内容即可。
HTH
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)