2014-10-02 5 views
6

После компиляции большого определения Protobuf я получаю файл исходного кода на 6 MB Java.Protoc: Как сгенерировать несколько исходных файлов Java?

Из-за его размера, работающего с этим файлом, это большая боль, поскольку я развиваюсь в Eclipse, и Eclipse полностью останавливается/падает каждый раз, когда я открываю этот файл.

Есть ли способ позволить протоку генерировать несколько файлов исходного кода Java вместо одного большого файла?

ответ

23

Собственно, есть. Это не документировано, но вы можете добавить строку в файл .proto так:

option java_multiple_files = true; 

Это позволит поставить каждый верхний уровень типа сообщения из файла .proto в независимый .java файл. Обратите внимание, что вам, конечно, придется обновить весь свой код, чтобы импортировать эти классы из своих новых мест. Обратите также внимание на то, что protoc по-прежнему будет генерировать «внешний» класс, который он делал раньше, без внутренних вложенных внутри него классов. Внешний класс по-прежнему остается местом, чтобы получить дескриптор файла, расширения верхнего уровня и другие вещи, не относящиеся к классу.

Все, что сказал, если у вас есть файл .proto, который большой, я настоятельно рекомендую разбить файл .proto на более мелкие файлы, которые импортируют друг друга.

Смежные вопросы