首页 > 解决方案 > freemarker 是否为太大的 CSV 文件做好了准备?

问题描述

目前我正在使用 freemarker 从 CSV 模板中读取数据并生成一个加载该数据的 java 类。问题是 CSV 文件定期获得越来越多的条目,现在 java 编译失败并出现错误“代码太大”,因为生成的文件超过了 64mb java 大小限制。freemarker 有什么可以防止这种情况的吗?就像知道正在生成的文件变得太大,所以它生成了 N 个相互补充的 java 类?

标签: freemarker

解决方案


FreeMarker 完全不知道它产生了什么。就它而言,它只是生成一些文本。

我知道的限制是每个方法64K 字节码(不是 64K 源代码)。可能您应该将生成的代码划分为方法。就像,对于每 1000 个 CSV 行,您生成一个方法,然后在最后生成一个调用所有先前生成的方法的方法。

此外,基于 CSV 生成这么多代码是可疑的。也许您应该改为在运行时加载数据?


推荐阅读