4

当我尝试编译我的项目时,出现以下异常:

! Internal server error, for request [GET /] ->

play.api.UnexpectedException: Unexpected exception [StackOverflowError: null]
    at sbt.PlayReloader$$anon$2$$anonfun$reload$3$$anonfun$4$$anonfun$apply$12.apply(PlayReloader.scala:233) ~[na:na]
    at sbt.PlayReloader$$anon$2$$anonfun$reload$3$$anonfun$4$$anonfun$apply$12.apply(PlayReloader.scala:226) ~[na:na]
    at scala.Option.map(Option.scala:133) ~[scala-library.jar:0.11.3]
    at sbt.PlayReloader$$anon$2$$anonfun$reload$3$$anonfun$4.apply(PlayReloader.scala:226) ~[na:na]
    at sbt.PlayReloader$$anon$2$$anonfun$reload$3$$anonfun$4.apply(PlayReloader.scala:224) ~[na:na]
    at scala.Either$LeftProjection.map(Either.scala:183) ~[scala-library.jar:0.11.3]
java.lang.StackOverflowError: null
    at scala.tools.nsc.transform.Erasure$Eraser.typed1(Erasure.scala:731) ~[scala-compiler.jar:na]
    at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4271) ~[scala-compiler.jar:na]
    at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:4138) ~[scala-compiler.jar:na]
    at scala.tools.nsc.transform.Erasure$Eraser.typed1(Erasure.scala:731) ~[scala-compiler.jar:na]
    at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4271) ~[scala-compiler.jar:na]
    at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$typedApply$1$1.apply(Typers.scala:3353) ~[scala-compiler.jar:na]

我在 Play 2 问题跟踪器中发现了同样的问题,他们说当路由文件增长时,它会产生异常。

由于我的项目不再编译,是否有解决此异常的方法?

我正在为 scala 使用 Play 2.0.3(我的路由文件大约有 150 行)

4

2 回答 2

2

我对 Play 2.0.6 也有同样的问题。升级到 Play 2.0.8 并没有帮助。然后我修改了$play_dir/framework/build脚本,所以它使用-Xss2M而不是-Xss1M构建,问题消失了(我现在可以正常编译)。

于 2014-09-24T11:28:46.163 回答
0

play 2.0 存在一个与路由文件大小有关的错误,与路由数量无关,而是文件的物理大小(32768 字节)。似乎这个天花板在 2.0.4 中增加了,在 2.1 中被消除了。

https://groups.google.com/forum/?fromgroups=#!topic/play-framework/fZvgWJoCPLc

所以,首先,我会看一下路由文件的物理大小。可能会删除注释和/或删除注释掉的行。接下来,我会尝试升级到 2.0.4 版本。这是一个相当容易的过程。您只需要下载 2.0.4,指向play这个新路径,然后将项目的 /project/plugins.sbt 更新为:

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

更长期的解决方法可能是在项目稳定后将其升级到 2.1。

于 2012-12-26T16:14:15.693 回答