我尝试在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
答案 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等价物。