同福

Maven编译报错Java heap space的解决办法【20211126】

介绍

介绍

福哥在虚拟机里面搭建了JDK环境准备用来编译项目,在福哥执行maven编译命令的时候得到了如下的错误。

home/topic/2021/1116/18/39a596f48bbf09d00509c72d6896dab4.png

错误信息是“Java heap space”,很明显了是内存的问题,那么为什么会内存不足呢?

因为福哥用的是虚拟机,内存本身就小,不够JDK吃。

解决

既然是内存问题,那么解决方法也很简单,要不增加内存总量,要不限制内存使用量。

福哥的虚拟机没有那么多内存给JDK用,只能限制内存使用量了。

限制内存

限制maven使用的内存量需要通过MAVEN_OPTS环境参数设置。

export MAVEN_OPTS="-Xms128m -Xmx512m"

测试

再次编译!通过了!

home/topic/2021/1116/18/08fb948f0fa3878bb1f5e1a2dd1abfc3.png

总结

Java是一个大胃王,吃内存,吃CPU,这一点从安卓系统上面就有能看得出来,苹果系统的APP可以用安卓一半的内存跑得和安卓一样块,甚至还可以超过安卓APP的速度,这全拜Java所赐~~