У меня есть два бережливость файлы: common.thrift
, proto.thrift
Бережливость включают в себя: Тип не определен
содержание:
common.thrift
namespace java ru.domain.myserv.common
struct MyStruct {
1: i32 val
}
service MyServ {
1: MyStruct myStruct,
2: i32 val
}
proto.thrift
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.
Что я делаю неправильно?
«Пространство имен» используется для генерации кода. Обратите внимание, что вы можете иметь несколько пространств имен, по одному на целевой язык. Плюс, конечно, звездочка формирует 'namespace * myapi.myapp.com'. Таким образом, re IDL будет немного сложнее с помощью 'namespace' для ссылок (какой?) - и слишком много подробностей. – JensG