我已经使用Scala插件安装了最新的IntelliJ Idea版本。我已经用IDE创建了一个SBT Scala项目。 不幸的是,我什至无法编译或运行最简单的“ Hello World”示例。
object Main {
def main(args: Array[String]): Unit ={
val x: Int = 5
println("Hello Scala!")
println(x)
}
}
如果我尝试运行它,它说“错误:找不到主类Main”。 重建项目无济于事。
但是,如果我运行“ sbt”终端程序并执行“ run”,则一切运行正常。甚至,它还会编译必要的类文件,以便IntelliJ Idea可以在此步骤之后运行它。 但是,每当我更改代码中的某些内容并尝试从Idea重建它时,它都会像以前一样失败。
编辑:在Eclipse中一切正常。
更新
如果我尝试从sbt外壳执行“编译”,然后在IDE中运行“运行”,那么它将起作用。但是,在执行“生成”或“重建项目”时不会这样做。有时候,但不幸的是,并非总是如此,因为它能够重现它,这将使我抛出“无法初始化类sbt.internal.io.Milli $”的异常。
第二次更新:
我进一步简化了任务。现在,我有类似以下屏幕截图的内容:
第3次更新:
我的部署中有两个错误。其中之一是,如前所述,存在一些程序包定义问题。所有源代码都应依赖src / main / scala,但这还不够。为了将SBT结构用于建筑,我不得不去 文件->设置->构建,执行,部署->构建工具-> sbt 并选中“使用自动导入”和“使用sbt shell进行构建和导入”。
之后,一切正常。结局!
非常感谢大家的有用输入!
答案 0 :(得分:1)
您的screenshot Runner
上的包装错误。它写为package main.scala
。
如果Runner.scala
在src/main/scala/way/to/my/package
中,则包声明应为package way.to.my.package
(如果它仅在src/main/scala
中,则不应有行package ...
)。
如果仍然有必要,您可以尝试(如果之前尝试过的事情没有帮助,则从应该首先尝试的内容到最后应该尝试的内容)
sbt clean
File
-> Invalidate Caches / Restart ...
.idea
子文件夹答案 1 :(得分:0)