2

我正在尝试将 Scalate 1.6.1 与 Play 一起使用,但它给了我这个:

[TemplateException: scala.reflect.internal.TreeInfo.firstArgument(Lscala/reflect/internal/Trees$Tree;)Lscala/reflect/internal/Trees$Tree;]

在 ScalaIntegration.scala 的这段代码中

def render(args: (Symbol, Any)*) = {
  ScalateContent{
    scalateEngine.layout(name, args.map {
      case (k, v) => k.name -> v
    } toMap)
  }
}

我知道这可能是版本问题,所以我目前正在尝试使用 scala 2.10.0 运行它,但我想更改为 2.10.2 。

4

2 回答 2

0

Scalate 1.6.1 依赖于 2.10.3 中缺少的 scala-reflect 函数。尝试来自 scalatra 人员的 Scalate 1.7.0:

"org.scalatra.scalate" % "scalate-something" % "1.7.0"

无论如何,fusesource 的人似乎没有很好地维护 Scalate: https ://groups.google.com/forum/#!topic/scalate/X_EcZEUk_lo

于 2014-05-13T15:04:04.477 回答
0

不要更改 scala 版本,而是尝试通过在 sbt build.scala 中添加它来明确指定 scala-reflect 和 scala-compiler 的依赖版本:(在我的情况下,我想使用 2.10.3)

libraryDependencies ++= seq(
"org.scala-lang" % "scala-reflect" % "2.10.3",
"org.scala-lang" % "scala-compiler" % "2.10.3"
)

这是基于 Ross A. Baker 的回复: https ://groups.google.com/d/msg/scalate/rKNkwgHPQDM/ClfBTM1VyegJ

于 2014-03-24T14:22:06.567 回答