我创建了一个只有一个源代码文件的SBT 0.11项目(还):
object HelloWorld extends App {
println("Hello, world!")
}
当尝试使用SBT run
应用程序时,我得到" java.lang.RuntimeException:没有检测到主类"。
如何定义主类?
我使用过"完整配置"以下Build.scala
:
import sbt._
object MyBuild extends Build {
lazy val HelloWorld = Project("HelloWorld ", file("src"))
}
以下build.sbt
:
name := "HelloWorld"
version := "1.0"
scalaVersion := "2.9.1"
答案 0 :(得分:2)
尝试更换:
lazy val HelloWorld = Project("HelloWorld ", file("src"))
使用:
lazy val HelloWorld = Project("HelloWorld ", file("."))
答案 1 :(得分:2)
Project
的第二个参数表示该项目的基本目录是什么,假设您有许多项目。如果您的源代码的路径是HelloWorld\src\src\main\scala\HelloWorld.scala
,则该原始行将起作用。
事情是......第二个参数不指向源代码。它指向该项目。例如,您可能会在尝试使用原始配置时看到它可能创建了目录HelloWorld\src\target
。