错误:找不到或加载主类主Scala

时间:2017-10-18 21:15:48

标签: scala intellij-idea

我最近安装了Scala作为我的函数式编程课程的一部分,我遇到了一个问题:IntelliJ IDEA 2017.2.1(Java版本9,版本9 + 181)没有运行任何我的scala代码,用

退出
  

错误:无法找到或加载主类

此代码就是一个例子。

object Main {
  def length[A](list:List[A]):Int = {
    if (list == Nil) 0
    else 1 + length(list.tail)
  }

  def main(args: Array[String]): Unit = {
    length(List[Int](1, 4, 5, 12, -1))
  }
}

这很简单,但IntelliJ拒绝运行它。 Windows CMD甚至不对scala命令做出反应,导致

  

'scala'未被识别为内部或外部命令,   可操作程序或批处理文件。

即使我在计算机上安装了它。如果我在IntelliJ内部调用Scala控制台,一切正常并按预期编译。我已经尝试在IntelliJ内部切换到JDK 1.8,但却没有结果。

可能是什么问题?

2 个答案:

答案 0 :(得分:0)

您是否使用绿色小箭头从Main对象内部运行程序?

你是如何创建该程序的?可能是项目的build文件SBT配置与计算机上安装的Scala版本不同。

  

这很简单,但IntelliJ拒绝运行它。 Windows CMD   甚至没有对scala命令作出反应,导致

'scala' is not recognized as an internal or external command, operable program or batch file.

这意味着Scala未添加到终端中的类路径中。查看如何做到这一点,看看这是否也无助于你的IntelliJ问题。

答案 1 :(得分:0)

对于我来说,事实证明src/main没有被标记为Sources Root enter image description here 会导致以下错误

...
One of the two will be used. Which one is undefined.
Error: Could not find or load main class Main

Process finished with exit code 1

因此,当然,在将src/main标记为Sources Root之后,Scala Hello World示例再次运行正常。

在目录src/main标记为Sources Root时注意蓝色

enter image description here