Scala工程编译时出现stackoverflowError错误

当Scala工程因代码量增大导致编译时出现StackoverflowError或内存错误,可以通过调整JVM参数来解决。例如,在IntelliJ IDEA中,可以在file—>settings->build->buildTools->sbt->VM parameters设置-Xss增大栈内存,或在Scala compiler Server中增加最大堆内存。对于使用git bash的情况,可能需要修改sbt目录下的JVM配置。此问题在Scala 3.x之后可能会有所改善。
摘要由CSDN通过智能技术生成

Scala工程,随着项目越做越大(类敏捷开发,目前已经做了三年了),经常会在工程进行构建/build/compile时发生内存错误,如GC overhead limit exceeded、stackoverflowErrorなど类似的错误。

总的来说原因就是:代码越来越多,自身JVM虚拟机内存不够了呗,具体细节大家自己研究。。

error例子(项目保密原因,例子都是网上直接拷贝过来的):

!ENTRY org.scala-ide.sdt.core 4 0 2017-09-08 12:42:02.495 !MESSAGE Error in Scala compiler 
!STACK 0 
java.lang.StackOverflowError 
    at scala.tools.nsc.typechecker.Typers$Typer.checkDead(Typers.sc‌​ala:111) 
    at scala.tools.nsc.typechecker.Typers$Typer.typedSelectOrSuperC‌​all$1(Typers.scala:4‌​812) 
    at scala.tools.nsc.typechecker.Typers$Typer.typedInAnyMode$1(Ty‌​pers.scala:5344) 

 第一种StackoverFlowError经常发生于在sbt compile,或者IDEA上可视化的sbt refresh project的时候,

解决办法:在file—>settings->build->buildTools->sbt->VM parameters选项上输入 -Xss4M(根据自己PC的内存和上面Xmx的大小自行调节࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值