最近在使用maven clean package
打包一个项目的时候遇到OutOfMemoryError
的报错,如下
查看了下具体的文件报错说明https://cwiki.apache.org/confluence/display/MAVEN/OutOfMemoryError,可能是以下三个原因:
- 你构建的是一个非常大的多模块项目,每个模块都需要一定量的内存,导致内存不够
- 你正在使用一些执行内存密集型操作的插件,例如分析所有项目的依赖项
- 你正在使用带有 fork=false 选项(默认)的 Maven 编译器插件,并且您的项目有很多源文件要编译
解决该问题的办法就是为 JVM 分配更多内存。
网上建议的设置方式有多种, 我尝试了下,最后只有在mvn.cmd文件里添加set MAVEN_OPTS= -Xms128m -Xmx512m
才能成功打包,设置环境变量和在Idea设置都无法成功打包
-
找到maven的安装目录,打开mvn.cmd文件,找到MAVEN_OPTS参数的位置,在其下一行加入
set MAVEN_OPTS= -Xms128m -Xmx512m
-
设置MAVEN_OPTS的环境变量 如下:
-
在idea中选择 Settings --> Maven --> Runner, 设置VM Options
结论 :
建议找到maven的安装目录,打开mvn.cmd文件,找到MAVEN_OPTS参数的位置,在其下一行加入set MAVEN_OPTS= -Xms128m -Xmx512m