Intellij-工作表找不到课程

时间:2018-07-29 06:03:30

标签: scala intellij-idea

我在src \ main \ scala \ week3的文件Rational.scala中定义了一个类:

package week3 class Rational(x: Int, y: Int) { def add(that: Rational) = this + that def add2(that: Rational) = this + that ... }

然后我有一个week3.sc scala工作表,其中包含以下内容:

import week3.Rational object scratch { var r = new Rational(1, 2) var t = new Rational(3, 4) r < t t.add(r) t.add2(r) }

编译时没有任何错误,但是在运行工作表时,我在add2方法而不是add方法上遇到此错误: java.lang.NoSuchMethodError: week3.Rational.add2(Lweek3/Rational;)Lweek3/Rational; at #worksheet#.#worksheet#(week3.sc:4) 我尝试过重建项目,甚至可以在Rational.class编译文件中看到字符串add2。

反正有解决此问题的方法吗?

2 个答案:

答案 0 :(得分:0)

我尝试了您的示例,并且可以重现您在新创建的项目中提到的完全相同的错误。

first image

second image

我尝试在工作表中和从表中都创建一个虚拟的week3类,但是似乎没有面对IntelliJ。当我尝试使用IntelliJ的内置编译按钮进行编译时,问题消失了。

我的第一个猜测是,直到您这样说,内部编译器才被完全启动(至少不是通过工作表播放按钮,无论是处于REPL还是交互式模式)。停止编译器并清除缓存,然后意外地再次尝试使其工作,这使我相信这是工作表中运行代码的错误。

无论如何,希望我能帮上忙。

答案 1 :(得分:0)

该问题存在于2018.1中,该问题在每次对Rational类进行编辑后都需要重新启动。升级到2018.2已解决。

相关问题