1

我正在尝试在以下(最简单的)代码中调用方法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 设置)运行时会出现问题。有人知道会发生什么吗?

4

1 回答 1

1

这是 M3 的一个已知问题。

在 Scala 的预览版中,反射仅适用于简单的类加载方案(例如,当您使用 good old 运行应用程序时java -cp <classpath> <name of the main class>)。SBT 的参与度更高,而且事情变得很糟糕。

我们已经在 2.10.0-M4 中修复了这个问题。

于 2012-06-26T15:23:17.180 回答