在编译一个大的Protobuf定义后,我得到了一个6MB的Java源代码文件。由于它太大,因此在Eclipse中开发时与该文件一起工作非常困难,而且Eclipse每当我打开该文件时都会完全停顿/崩溃。是否有一种方法可以让protoc生成多个Java源文件,而不是一个大文件?
实际上是可以的。虽然没有文档记录,但您可以像这样在.proto
文件中添加一行:
实际上是可以的。虽然没有文档记录,但您可以像这样在.proto
文件中添加一行:
option java_multiple_files = true;
这将把.proto
文件中的每个顶层消息类型放入一个独立的.java
文件中。请注意,您当然需要更新所有代码以从它们的新位置导入这些类。还要注意,protoc
仍会生成之前的“外部”类,只是没有其中嵌套的内部类。外部类仍然是获取文件描述符、顶层扩展和其他非类事物的地方。
话虽如此,如果您有一个那么大的.proto
文件,强烈建议将其拆分为导入彼此的较小文件。