Scalameta与maven内联

时间:2017-04-03 06:56:07

标签: scala maven macros scala-meta

我尝试在scala-maven项目中实现scala-meta inline / meta样式宏注释。我在编辑中遇到了以下错误。

[ERROR] /home/tiran/.../validatable.scala:12: ';' expected but 'def' found.
[ERROR]   inline def apply(defn: Any): Any = meta {
[ERROR]          ^

我们是否需要额外的编译器插件才能使用scala meta,或者我在这里遗漏了什么?顺便说一下scalameta依赖是我添加的唯一依赖。我的scala版本是2.11

1 个答案:

答案 0 :(得分:1)

来自https://github.com/scalameta/sbt-macro-example/blob/master/build.sbt

// A dependency on macro paradise 3.x is required to both write and expand
// new-style macros.  This is similar to how it works for old-style macro
// annotations and a dependency on macro paradise 2.x.
addCompilerPlugin("org.scalameta" % "paradise" % "3.0.0-M7" cross CrossVersion.full),
scalacOptions += "-Xplugin-require:macroparadise",

所以你需要添加Maven等价物。