使用Scala 2.10-M3反射时的AssertionError

时间:2012-05-29 11:02:25

标签: reflection scala-2.10

我试图在以下(最简单的)代码中调用 typeOfInstance()方法:

import scala.reflect.mirror._

class Bar

object Main extends App {
  val bar = new Bar()
  typeOfInstance(bar)
}

但我在执行时收到 AssertionError

java.lang.AssertionError: assertion failed: no symbol could be loaded from package annotation (scala equivalent is class com.hablapps.annotation.Bar) by name Bar

以上代码在REPL中运行正常(使用:power 模式)。从SBT(使用Scala 2.10-M3设置)运行时出现问题。有人知道会发生什么吗?

1 个答案:

答案 0 :(得分:1)

这是M3的一个已知问题。

在Scala的预览版本中,反射仅适用于简单的类加载方案(例如,当您使用旧的java -cp <classpath> <name of the main class>运行应用程序时)。 SBT有点参与,事情一团糟。

我们在2.10.0-M4修正了这个问题。