如何为sbt设置堆大小?

100

我正在使用SBT 0.12.0版本,我已经阅读了stackoverflow上其他答案并按照它们的方法操作,然而它们都没有帮助我,例如:

  • 创建ForkRun类 - 我在使用sbt时没有观察到任何分叉进程。
  • 设置环境变量JAVA_OPTS - 它被设置了,但是sbt的进程命令行似乎根本没有使用它。
  • sbt -J-Xmx2G将参数附加到sbt进程命令行,但是sbt使用的是旧值-Xmx1536m,而不是追加的参数。

我是不是漏掉了什么?在进行测试和run时,如何设置sbt 0.12的堆大小?


12
你尝试过在启动sbt时使用mem参数吗?(例如sbt -mem2000 - om-nom-nom
2
你可能打错了,应该是JAVA_OPTS而不是JAVA_OPS。 - Noah
请查看我对此问题的重复回答。https://dev59.com/Rm865IYBdhLWcg3wU9CI#14561346 那里标记的答案是错误的,但我的答案是正确的(有时您需要检查评论/投票 :))。 - iwein
12个回答

0
如果您正在使用Windows操作系统,您可以轻松地设置环境变量:

enter image description here

接下来,不要忘记重新启动您的终端提示符(CMD,Powershell等)以进行刷新。

这对我有效!


0
在Windows上,在运行sbt之前运行SET SBT_OPTS="-XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=2G -Xmx2G -Xms1G"似乎是解决我的问题的方法。
参考链接:https://www.baeldung.com/scala/sbt-heap-size 我只是将export更改为SET

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接