问题是,当我打开"cmd.exe"并转到名为chesschallenge6的目录输入"sbt"命令并随后"运行"时,它不起作用。我收到一条错误消息,指出没有指定主类。我检查了主类名是否与其文件名相同,甚至尝试了"对象 ChessChallenge6 扩展应用程序",但它仍然不起作用。解决方案很简单,但我只是看不到它。
└── _chesschallenge6
├── _project
├── _target
└── _src
├── _test
└── _main
├── _algorithm
├── _model
└── ChessChallenge6.scala
你的问题有些不清楚。以下是我对问题的最佳猜测:
目录结构错误
请确保您的 scala 文件位于"src/main/scala/ChessChallenge6.scala
"中,相对于您运行sbt
的目录。
我不确定您是否在目录名称中使用下划线,或者这是否是您仅在问题文本中使用的某种格式。如果使用下划线,则需要删除它们(或配置sbt
以在非标准目录中查找源)。
如果您不使用它们,则应将它们从问题文本中删除,因为它们令人困惑。(如果要区分列表中的文件和目录,常见的约定是在目录名称的末尾添加"/",例如"src/
"。
见 http://www.scala-sbt.org/0.13/docs/Directories.html
在错误的目录中运行 sbt
您必须在上面的目录中运行sbt
src
。在您的问题的最新版本中,这将在chesschallenge6
目录中。
我遇到了这个确切的问题,问题是我使用的是class
而不是object
。
例如,确保主类不是这样的:
class ChessChallenge6 {
def main(args: Array[String]): Unit = {
println("hello")
}
}
相反,它应该是:
object ChessChallenge6 {
def main(args: Array[String]): Unit = {
println("hello")
}
}
请注意,第一个单词是对象而不是类。