我有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;
}
我仍然得到同样的问题!!
答案 0 :(得分:5)
import语句是相对于您调用protoc
的位置的文件夹。
看起来你已将它视为相对于包而言。
e.g。如果(像我一样)你将这两个文件存储在src/main/resources
中,你可以按如下方式调用protoc:
protoc src/main/resources/firstFile.proto src/main/resources/secondFile.proto --java_out=src/generated/java
,您的import语句为import "src/main/resources/firstFile.proto"
如果您想根据包名存储子文件夹中的文件,那么您只需在顶级foldername之后相应地添加它。
HTH