编译大型Protobuf定义后,我得到一个6 MB的Java源代码文件。
由于我使用该文件的大小是一个很大的痛苦,因为我在Eclipse中开发,每当我打开该文件时Eclipse都会完全停止/崩溃。
有没有办法让protoc生成多个Java源代码文件而不是一个大文件?
答案 0 :(得分:36)
实际上,有。它没有记录,但您可以在.proto
文件中添加一行,如下所示:
option java_multiple_files = true;
这会将.proto
文件中的每个顶级邮件类型放入一个独立的.java
文件中。请注意,您当然必须更新所有代码以从新位置导入这些类。另请注意,protoc
仍将生成之前执行的“外部”类,只是没有嵌套在其中的内部类。外部类仍然是获取文件描述符,顶级扩展和其他非类内容的地方。
所有这一切,如果你有一个很大的.proto
文件,我强烈建议将.proto
文件本身拆分成相互导入的较小文件。