在 IntelliJ 中从 sbt 控制台设置 JVM 堆大小

Posted

技术标签:

【中文标题】在 IntelliJ 中从 sbt 控制台设置 JVM 堆大小【英文标题】:setting JVM heap size from sbt Console in IntelliJ 【发布时间】:2018-11-15 12:07:23 【问题描述】:

在 IntelliJ 中运行我的应用时出现此错误:

[error] (ABCThread-1) java.lang.OutOfMemoryError: Java heap space

因此,当我从 SBT 控制台/SBT 操作运行我的 scala 应用程序时,我试图设置堆大小:

我使用以下内容: 在这里找到: Increase JVM heap size for Scala?

但是我得到了错误:

scala>  -J-Xmx2g
<console>:12: error: object - is not a member of package scala
       scala -J-Xmx2g
             ^
<console>:12: error: not found: value J
       scala -J-Xmx2g
              ^
<console>:12: error: not found: value Xmx2g
       scala -J-Xmx2g
                ^

有什么想法吗?谢谢

【问题讨论】:

设置 SBT_OPTS 可能会有所帮助,例如 export SBT_OPTS="-Xmx2048m -XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=768m -Xss16m @shengshanzhang 我得到这个错误:&lt;console&gt;:13: error: not found: value export export SBT_OPTS 如果我使用set SBT_OPTS 我得到&lt;console&gt;:13: error: not found: value set set SBT_OPTS 我尝试在环境变量中设置 SBT_OPTS,它对我来说很有魅力: SBT_OPTS: -Dsbt.override.build.repos=true -Xmx2048m -XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=768m -Xss16m 。来自 Intellij,您可以按照文档进行操作:jetbrains.com/help/idea/increasing-memory-heap.html 【参考方案1】:

转到IntelliJ preferences &gt; Build,Execution,Deployement &gt; compiler。您将找到一个将堆大小设置为Build process heap size(Mbytes): 的选项。将其更改为更高的值。或许能解决问题。

【讨论】:

【参考方案2】:

如果你使用IDEA,这个位置是你应该输入VM参数的地方

【讨论】:

你在 sbt shell 中设置了 fork := true 吗? 我正在使用 sbt 控制台 - sbt Shell 给了我一些依赖错误 - 所以,在 sbt 控制台中,没有 iam 没有使用 set fork := true 实际上设置和导出不是 sbt Console 可用命令的一部分【参考方案3】:

1.在应用程序的运行/调试配置中编辑 VM 选项字段 你先来。 vmoptions 文件调整 IntelliJ 使用的内存,如果我没记错,你 IntelliJ 为执行您的应用程序而启动的 JRE 内存不足。在运行/调试配置的VM选项部分调整内存设置,例如:https://imgur.com/2YjvDW9 config setting

2.如果步骤 1 没有解决您的问题,如果您当前没有使用 IntelliJ IDEA,请切换到 64 位 JDK。

【讨论】:

感谢我使用的是 64 位 JDK,但我之前尝试过选项 1,但也没有用。

以上是关于在 IntelliJ 中从 sbt 控制台设置 JVM 堆大小的主要内容,如果未能解决你的问题,请参考以下文章

intellij 与 sbt scala 和 android dev

为 Scala/SBT 设置 IntelliJ IDEA Ultimate

如何从 IntelliJ IDEA 的 bash 设置 SBT 以避免格式化字符被破坏?

使用 sbt 将 Scala 与 Hive 数据库连接起来,使用 IntelliJ 进行依赖

如何在 Intellij Idea 中使用自定义 sbt 版本?

IntelliJ IDEA 12 与 sbt 0.13