关于lombok在maven编译时报栈溢出的问题

最近在项目中使用maven编译一个静态模块时,出现关于lombok的栈溢出的问题。

关于lombok在maven编译时报栈溢出的问题

对于导致该问题的原因主要是使用lombok注解的实体类对象字段(几百个字段)过多,在反射字段编译时压栈过多导致的栈溢出。以下截图中显示了使用lombok注解的五个大对象栈溢出了。

关于lombok在maven编译时报栈溢出的问题

解决办法:

A1:暴力解决:扩大maven运行时的栈内存大小,这里我基于idea修改maven的栈内存,File->Settings->Build,Execution,Deployment->Maven->Runner->VM Options,将VM Options在虚拟机的选项中设置占内存大小在,这里我设置成4m,-Xss4m,可根据需要设置,再次编译就通过了。

A2:由于是反射压栈过多,可以考虑将大对象拆分成多个小对象。这样对应的数据库表字段也应该优化结构,但是由于这个项目数据库结构不是由我们自己掌握的,所以没有考虑使用该方式。

A3:去掉lombok不必要的注解,因为项目中实体类对象大多是使用****生成的,所以在这种情况下可以出了必要的@[email protected]注解其他不必要的注解都去掉。

以下是使用设置栈内存大小方法再次编译就通过了。

关于lombok在maven编译时报栈溢出的问题