如果我在Intellij的Scala工作表顶部导入对象的内容,当我向对象添加新内容时,在工作表中找不到它们.即使在我构建项目并重新评估工作表之后,它也找不到新属性.自动完成功能.如果我退出并重新启动IntelliJ,它的工作原理.
这是错误:
java.lang.NoSuchMethodError: Arith$.foo()Ljava/lang/String;
at #worksheet#.get$$instance$$res6(ArithWS.sc:15)
at A$A1$.main(ArithWS.sc:41)
at #worksheet#.#worksheet#(ArithWS.sc)
Run Code Online (Sandbox Code Playgroud)
奇怪的是,它似乎编译,但在运行时失败.这是一个正常的SBT项目.IntelliJ 2017.2.5,Scala 2.12.3.选择"生成项目"复选框没有帮助.实际上,没有复选框的组合使其工作.重建项目或工作表无论如何都无济于事.只有重新启动IntelliJ才能使工作表获取新代码.
Arith.scala中的示例代码:
object Arith {
val foo = "foo"
}
Run Code Online (Sandbox Code Playgroud)
示例工作表ArithWS.sc:
import Arith._
foo
Run Code Online (Sandbox Code Playgroud)