如何修复SBT 0.11没有找到我的应用程序的主类?

时间:2011-10-18 22:47:03

标签: scala sbt

我创建了一个只有一个源代码文件的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"

2 个答案:

答案 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