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