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 issue tracker で同じ問題を見つけましたが、routes ファイルが大きくなるとその例外が発生すると言われました。

プロジェクトがコンパイルされなくなったため、この例外の解決策はありますか?

私はscalaにPlay 2.0.3を使用しています(私のルートファイルは約150行です)

4

2 に答える 2

0

play 2.0 には、ルートの数ではなく、ファイルの物理サイズ (32768 バイト) に関して、ルート ファイルのサイズに関係するバグがあります。この上限は 2.0.4 で増加し、2.1 で解消されたようです。

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

そのため、まず、routes ファイルの物理サイズを確認します。コメントを切り取ったり、コメントアウトされた行を削除したりすることができる場合があります。次に、バージョン 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 に答える