无法导入scala.reflect.runtime.universe

Hai*_*ang 18 reflection scala

我想按照本教程中的示例来讨论scala中的反射(2.10.2) .当我启动sbt(版本0.13)并导入scala.refelct.runtime.universe._时工作正常

scala> import scala.reflect.runtime.universe._                                                                                                                                       ?~                                                                                                                                                                                   
import scala.reflect.runtime.universe._
Run Code Online (Sandbox Code Playgroud)

但是当我尝试将示例代码放到像这样的对象时

object ReflectExample {
   import scala.reflect.runtime.universe._
   /*
    the rest of the Example
   */
}
Run Code Online (Sandbox Code Playgroud)

并通过sbt compile编译代码我看到以下错误消息:

[error]  object runtime is not a member of package reflect                                                                                                                                                                                                                                                       
[error]     import scala.reflect.runtime.universe._
Run Code Online (Sandbox Code Playgroud)

jop*_*rat 15

sbt的文档中所述,您需要将此行添加到libraryDependencies项目的字段中build.sbt:

"org.scala-lang" % "scala-reflect" % scalaVersion.value


cch*_*tep 13

您可能想尝试将依赖项添加到http://mvnrepository.com/artifact/org.scala-lang/scala-reflect

  • 我遇到了同样的问题,但解决方案不起作用,我需要使用 Scala 2.12.0 运行(以运行 Apache Spark)。但是,我得到: /var/folders/g8/xtvb9ft52hgfw08sfxhjkxh5x3qbdd/T/sbt_6999744/scala/ZincCompat.scala:23:错误:类型不匹配;找到:pf.type(基础类型为 scala.ZincCompat.PlainNioFile) 必需: ?{def getClass: ?} val f = pf.getClass.getDeclaredField("nioPath") // 它在 2.12 中未验证 :-/ (3认同)
  • 为我工作,刚添加"org.scala-lang"%"scala-reflect"%"2.10.0" (2认同)