Protocol Buffers生成Java代码太大问题
一个比较长的proto文件,生成的Java代码有2.6M之多。。。而且是单文件,用IDEA打开,整个IDE都不好了。。。提示
1 | File size exceeds configured limit (2560000). Code insight features not available |
因为文件太大,IDEA都不对其进行代码分析了。。。
解决的思路有两种,一种是放宽IDEA对于文件大小的限制,可以参考[Intellij IDEA]File size exceeds configured limit - Less is More - 开源中国社区,但是我不认为这是一种好的做法,因为巨大的单文件对于IDE解析是一个极大的负担,会极大影响开发体验。
那么有没有办法让protoc生成代码的时候不是生成一个单一Java文件,而是生成多个呢?方法是有的,参考protocol buffers - Protoc: How to generate multiple Java source files? - Stack Overflow,这个哥们更牛,生成的代码有6M之大。。
方法就是在protoc中添加一个配置:
1 | option java_multiple_files = true; |
这样protoc在生成Java代码的时候,是每个顶级message对应一个Java文件,这样每个文件就不会很大了。
如果觉得文章对你有帮助,就打赏杯咖啡钱呗😊