【问题标题】:Deploying Play2.1-RC1 on heroku gives error在 heroku 上部署 Play2.1-RC1 会出错
【发布时间】:2012-11-10 00:22:52
【问题描述】:

我在将基于 Play2.1-RC1 的应用程序部署到 Heroku 时遇到此错误

[info] 'compiler-interface' not yet compiled for Scala 2.10.0-RC1. Compiling...
       sbt appears to be exiting abnormally.
         The log file for this session is at /tmp/sbt6398446576215517800.log
       java.lang.OutOfMemoryError: PermGen space
        at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:252)
        at java.util.concurrent.FutureTask.get(FutureTask.java:111)
        at sbt.ConcurrentRestrictions$$anon$4.take(ConcurrentRestrictions.scala:195)
        at sbt.Execute.next$1(Execute.scala:85)
        at sbt.Execute.processAll(Execute.scala:88)
        ...

            ...
     Error during sbt execution: java.lang.OutOfMemoryError: PermGen space  !  
     Failed to build app with sbt  !     
     Heroku push rejected, failed to compile Play 2.0 - scala app

build.properties

sbt.version=0.12.1

plugins.sbt 文件

// Comment to get more information during initialization
logLevel := Level.Warn

// The Typesafe repository 
resolvers += "Typesafe repository" at "http://repo.typesafe.com/typesafe/releases/"


// Use the Play sbt plugin for Play projects
addSbtPlugin("play" % "sbt-plugin" % "2.1-RC1")

Build.scala

导入 sbt._ 导入 PlayProject._

object ApplicationBuild extends Build {

  val appName = "myappname"
  val appVersion = "1.0-SNAPSHOT"

  val appDependencies = Seq(
    // Add your project dependencies here,
    jdbc,filters,
    "org.squeryl" % "squeryl_2.10.0-RC2" % "0.9.5-4",
    "postgresql" % "postgresql" % "9.1-901-1.jdbc4"
  )

  val main = play.Project(appName, appVersion, appDependencies).settings(
    // Add your own project settings here
  )

}

更新 将 JAVA_OPTS 和 SBT_OPTS 从 -Xmx384m -Xss512k -XX:+UseCompressedOops-Xmx1024m -Xss512k -XX:+UseCompressedOops

但又出现同样的错误。

【问题讨论】:

  • 我有点困惑。他 OOM 错误发生在你身边还是 Heroku 的?
  • 发生在heroku身边

标签: scala heroku playframework-2.0 scala-2.10 playframework-2.1


【解决方案1】:

这是一个 PermGen 错误,请尝试添加:

-XX:PermSize=256m

这是一个已知问题,看看https://github.com/heroku/heroku-buildpack-scala/pull/26https://github.com/heroku/heroku-buildpack-scala/tree/perm-gen

更新:

正如@ryanbrainard 所指出的,perm-gen 问题已经在默认的 scala-buildpack 上得到解决,因此不需要使用上面提到的特定 buildpack。

【讨论】:

  • Ty.Life Saver!使用 heroku 配置:添加 BUILDPACK_URL="github.com/heroku/heroku-buildpack-scala.g… …it#perm-gen"
  • perm-gen 分支已合并到 master 中,现在是 Heroku 上的默认 Scala 构建包。 如果您指定 BUILDPACK_URL 以使用该分支,你现在应该返回使用默认的 buildpack:heroku config:remove BUILDPACK_URL
猜你喜欢
  • 1970-01-01
  • 2014-07-31
  • 2022-11-08
  • 2018-08-02
  • 1970-01-01
  • 2015-04-28
  • 2021-01-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多