小编Jul*_*Foy的帖子

如何使用Play 2.0创建自定义404页面处理程序?

使用Play 2.0处理404错误并显示漂亮模板视图的首选方法是什么?

scala playframework-2.0

27
推荐指数
3
解决办法
1万
查看次数

使用宏天堂并与 2.12/2.13 交叉编译

从 Scala 2.13 开始,宏天堂已被内联在编译器中,并且可以通过编译器标志使用:

Compile / scalacOptions += "-Ymacro-annotations"
Run Code Online (Sandbox Code Playgroud)

作为参考,在以前的 Scala 版本中,macro-paradise 可通过编译器插件获得:

addCompilerPlugin("org.scalamacros" % "paradise" % "2.1.1" cross CrossVersion.full)
Run Code Online (Sandbox Code Playgroud)

在针对 Scala 2.12 和 2.13 的构建中,根据 Scala 版本的值,有条件地添加第一个设置或第二个设置的规范方法是什么?

我想写以下内容,但它不起作用:

CrossVersion.partialVersion(scalaVersion.value) match {
  case Some((2, n)) if n >= 13 => Compile / scalacOptions += "-Ymacro-annotations"
  case _ => addCompilerPlugin("org.scalamacros" % "paradise" % "2.1.1" cross CrossVersion.full)
}
Run Code Online (Sandbox Code Playgroud)

它失败并出现以下错误:

error: `value` can only be used within a task or setting macro, such as :=, +=, ++=, Def.task, or Def.setting.
      CrossVersion.partialVersion(scalaVersion.value) …
Run Code Online (Sandbox Code Playgroud)

sbt

8
推荐指数
1
解决办法
1085
查看次数

标签 统计

playframework-2.0 ×1

sbt ×1

scala ×1