scala - 执行 Lift 项目时使用 SBT 出现内存不足错误

标签 scala memory lift sbt

我正在使用 SBT 0.7.7。当我对 Lift 项目进行更改并通过以下方式重新编译时:

  1. 码头停靠
  2. 编译
  3. 码头运行

我收到以下错误:

Error during sbt execution: java.lang.OutOfMemoryError: PermGen space

我在/opt/local/bin/sbt-0.7 中定义了以下内容:

# Is the location of the SBT launcher JAR file.
LAUNCHJAR="/opt/local/share/sbt-0.7/sbt-launch-0.7.7.jar"

# Ensure enough heap space is created for SBT.
if [ -z "$JAVA_OPTS" ]; then
JAVA_OPTS="-XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled -XX:MaxPermSize=256m -Xmx512M -Xss2M"
fi

# Assume java is already in the shell path.
exec java $JAVA_OPTS -jar "$LAUNCHJAR" "$@"

最佳答案

PermGen 只是组成堆的众多空间之一。您可以增加整个堆,直到分配的部分足够大以满足您的需要,或者您可以简单地增加对 PermGen 空间的分配。为了做到这一点,请使用

对于 sbt 0.12.0

export SBT_OPTS=-XX:MaxPermSize=256m

最好把它放在你的 .bash_profile 中(假设你使用的是 bash)

对于 sbt 0.7

在您的情况下,将 -XX:MaxPermSize 增加到 256m 以上。请记住,需要超过 256m 表明可能存在其他问题。

关于scala - 执行 Lift 项目时使用 SBT 出现内存不足错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8751936/

相关文章:

design-patterns - 创建两种不同类型的用户(Scala、Lift)

objective-c - EXC_BAD_ACCESS 消息发送到已释放的实例,但我使用的是 ARC?

web-applications - 使用 Lift 的购物车

scala 等效于 java 公共(public)字段

c++ - 使用Spark调用进程外dll函数

json - Play/Scala 如何防止空数组的 Json 序列化?

Scala 列出了 "var"的用法

c - 释放使用 malloc 创建的结构,其成员也有一个 malloc

c - 不兼容的 C 型错误?

php - PHP 或基于 PHP 的 Web 框架是有状态的还是无状态的?