我有两个节俭文件:common.thrift
,proto.thrift
内容:
普通节俭
namespace java ru.domain.myserv.common
struct MyStruct {
1: i32 val
}
service MyServ {
1: MyStruct myStruct,
2: i32 val
}
原始节俭
include "common.thrift"
namespace java ru.domain.myserv.proto
typedef ru.domain.myserv.common.MyServ MyServ
struct ProtoServ {
1: MyServ myServ
}
接下来,我运行节俭生成器:
thrift -r -out ../java --gen java proto.thrift
而且我在控制台中看到一个错误:
[ERROR:/path/proto.thrift:8] (last token was 'ru.domain.myserv.common.MyServ')Type "ru.domain.myserv.common.MyServ" has not been defined.
我做错了什么?
最佳答案
哦,我的上帝。
我必须指定typedef common.MyServ MyServ
代替typedef ru.domain.myserv.common.MyServ MyServ
但是namesapace
有什么必要?