Используйте уже скомпилированные классы Protobuf в новых .proto-файлах

Я импортировал библиотеку, которая содержит классы, созданные protobuf.

Я хотел бы отправлять объекты этого класса как часть других сообщений protobuf. Но protoc (очевидно?) Жалуется на отсутствие определений:

Не удалось разрешить ссылку на тип ExistingProtobufLibraryClass.

Я мог бы, конечно, скопировать существующий исходный код .proto из источника библиотеки, но тогда я подозреваю, что protoc сгенерирует две версии этого класса, что будет довольно раздражать .

Есть идеи, как это решить?


person aioobe    schedule 29.10.2011    source источник
comment
Вы пробовали различные варианты импорта в protoc / .proto?   -  person Marc Gravell    schedule 29.10.2011
comment
Да .. Я могу импортировать proto-def уже скомпилированного класса, и он работает. Если бы я только мог сказать protoc not генерировать для него код, этого было бы достаточно.   -  person aioobe    schedule 30.10.2011


Ответы (1)


Вам необходимо импортировать существующий прото-класс.

import "somepath/existing_protobuf_library_class.proto"

protoc не будет генерировать дополнительный код, сгенерированный код Java просто импортирует предполагаемые другие классы.

person Jeremy    schedule 31.10.2011