Scala Error: Could not find or load main class in both Scala IDE and Eclipse

Scala Error: Could not find or load main class in both Scala IDE and Eclipse

这是我的问题,我知道类似问题有很多答案,但是 none 在我尝试后它们都有效。我同时使用 Scala IDE 4.6 和 eclipse Oxygen 来 运行 代码,但都因这个错误而失败。

这是我的 Scala 编译器配置:

这是我的 运行 配置:

这是我的代码、文件结构和控制台中显示的错误:

这里是问题控制台的信息:

根据网上的回答,我已经尝试过在构建之前清理项目,我也尝试了所有版本的JVM和Scala编译器,都没有帮助。

代码是直接从网上课程代码中导入的,所以我相信代码中应该没有任何错误。

我想这应该是你的文件夹结构

Scala0
└── src
    └── main
        └── scala
            └── com.ks.sparkscala
                └── FriendsByAge

在你的情况下,在 src 中创建一个文件夹 main/scala 并将包复制到其中。

项目结构请遵循here

希望对您有所帮助!

对于 Intellij IDE,使用以下过程:

  1. 转到 window 和 select "Edit Configuration" 右上方的下拉菜单。

  2. 在弹出的屏幕上,左侧select "Scala-console",右侧select您的模块名称在“使用class模块路径和SDK.

在eclipse-->项目属性-->scala编译器--->更改scala安装。

它对我有用。

据我所知,您的包结构是 com.ks.sparkscala,这与 FriendsByAge.scala、com.sundogsoftware.spark 中声明的不同 希望这有帮助。

我遇到了类似的问题。我有 Could not find or load main class in IJIdea IU-182.4892.20 / Scala 2.13 for .scala 具有这种结构的文件:

package ...

import ...

object Main extends App {
...
}

//other traits, classes, objects

但是当我将 //other traits, classes, objects 移动到同一个包中单独的 .scala 文件时,我的问题就解决了。

我遇到了同样的错误消息,以下解决方案对我有用:

  1. 右键单击该项目。
  2. 单击 Scala。
  3. 选择选项 "Set the scala installation"。
  4. Select Scala 安装(我选择"Fixed Scala Installation: 2.10.6(bundled")。

在此之后,它 运行 正常并且没有给出该错误消息。

另一种解决方案。 我在使用 Scala + SBT 的项目中遇到了类似的问题。

我是如何解决这个问题的:

  1. 运行 我通过 SBT 的项目是这样的:sbt my-project/run
  2. 已停止 (Ctrl+C)
  3. 运行 调试 -- 它再次工作。

我需要做很多事情来解决这个问题,我认为每一个都很重要。

  1. 确保有问题的 scala 文件在“src”文件夹中。
  2. 确保它是一个对象(如果你的内部 class/object 是一个对象)。
  3. 确保文件名和 class/object 名称相同。

(以下说明适用于 IntelliJ)

如果 #1 不正确,这是最简单的解决方法:

  1. 单击并将文件拖到 IntelliJ 中的“src”文件夹中。对任何重构说“是”。

如果 #2 或 #3 不正确,这是最简单的解决方法:

  1. 复制您的代码(CTRL+A、CTRL+C)
  2. Right-click 您的“src”文件夹和 select“New Scala class”
  3. 输入您的 class / 对象的名称
  4. Select “对象”,如果您的文件将包含 top-level 对象而不是 top-level class
  5. 按 ENTER(或 select 相应的确认按钮)
  6. 粘贴您的代码 (CTRL+A, CTRL+V);

结果: 现在你的“src”文件夹中应该有一个名为“YourClass.scala”的文件,如果它是一个对象,它应该有一个橙色图标。文件名应该与顶层的名称相匹配class/object。 你应该能够 right-click 它和 运行 它。然后在你这样做之后,你应该能够按下右上角的播放按钮。它应该有效。

对于IntelijIDEA的参考,我猜你会以某种方式使用scala插件,在这种情况下,有一个解决上述问题的方法:

Error: Could not find or load main class in both Scala IDE https://youtrack.jetbrains.com/issue/SCL-13636

尝试重新导入项目并覆盖.idea 目录,因为在作为现有项目导入时会提示覆盖.idea 配置。希望修复

仅供参考,这是一个未解决的问题