我试图在以下(最简单的)代码中调用 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设置)运行时出现问题。有人知道会发生什么吗?
答案 0 :(得分:1)
这是M3的一个已知问题。
在Scala的预览版本中,反射仅适用于简单的类加载方案(例如,当您使用旧的java -cp <classpath> <name of the main class>
运行应用程序时)。 SBT有点参与,事情一团糟。
我们在2.10.0-M4修正了这个问题。