Protoc:如何生成多个Java源文件?

时间:2014-10-02 14:09:50

标签: java protocol-buffers

编译大型Protobuf定义后,我得到一个6 MB的Java源代码文件。

由于我使用该文件的大小是一个很大的痛苦,因为我在Eclipse中开发,每当我打开该文件时Eclipse都会完全停止/崩溃。

有没有办法让protoc生成多个Java源代码文件而不是一个大文件?

1 个答案:

答案 0 :(得分:36)

实际上,有。它没有记录,但您可以在.proto文件中添加一行,如下所示:

option java_multiple_files = true;

这会将.proto文件中的每个顶级邮件类型放入一个独立的.java文件中。请注意,您当然必须更新所有代码以从新位置导入这些类。另请注意,protoc仍将生成之前执行的“外部”类,只是没有嵌套在其中的内部类。外部类仍然是获取文件描述符,顶级扩展和其他非类内容的地方。

所有这一切,如果你有一个很大的.proto文件,我强烈建议将.proto文件本身拆分成相互导入的较小文件。