2014-10-02 72 views
6

编译一个大的Protobuf定义后,我得到一个6 MB的Java源代码文件。Protoc:如何生成多个Java源文件?

由于在Eclipse和Eclipse中开发的文件的大小与该文件一起工作是一件非常痛苦的事情,当我打开该文件时完全失速/崩溃。

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

回答

23

其实有。它没有记录,但你可以添加一行到您的.proto文件是这样的:

option java_multiple_files = true; 

这将使从.proto文件中的每个顶级消息类型成为一个独立的.java文件。请注意,您当然必须更新所有代码才能从新位置导入这些类。还要注意,protoc仍然会生成之前做过的“外部”类,只是没有内部类嵌套它。外部类仍然是获取文件描述符,顶级扩展和其他非类的东西的地方。所有这一切说,如果你有一个大的.proto文件,我强烈建议将.proto文件本身分割成彼此导入的较小文件。

相关问题