google了一把,看到别人的说法是Stack size 不够大。
Stack Space用来做方法的递归调用时压入Stack Frame。所以当递归调用太深的时候,就有可能耗尽Stack Space,爆出StackOverflow的错误。Stack Space的大小随着OS,JVM以及环境变量的大小而发生变化。一般说来默认的大小是512K。
我的猜测是我的某个项目调用堆栈过多,并且有一些非常耗费资源的递归调用,直接把stack size塞暴了。因此调整stack size 为10m。
export MAVEN_OPTS="-Xms256m -Xmx512m -Xss10m"
再执行 mvn package
SUCCESS !希望大家碰到这个问题少绕弯路。
以上是Linux的解决方案,Windows下的处理方法是
set MAVEN_OPTS="-Xms256m -Xmx512m -Xss10m"
然后mvn package
时间: 2024-10-03 22:56:58