mainClass设置如何在sbt中工作?

时间:2011-03-05 23:46:53

标签: scala sbt

我似乎无法找到mainClass选项如何在sbt的构建配置中工作的任何细节。您指定在调用run操作时要使用的类的名称,但它实际上对它有什么作用?它是否在类上调用方法?

1 个答案:

答案 0 :(得分:6)

http://code.google.com/p/simple-build-tool/wiki/BuildConfiguration#Run_Options

  

方法mainClass的类型为Option [String],并指定在调用运行任务时要运行的可选主类。默认实现指定没有主类(None)。如果未指定mainClass,则运行任务将确定自动运行哪个类。如果只检测到一个主类,则运行它。如果检测到多个主类,则会提示用户运行哪个主类。

类名应该引用具有def main(args:Array[String]): Unit方法的同名对象。该方法已经运行。

所以如果你创建

package foo
object Foo { def main(args:Array[String]) { println("foo") } }

然后,您可以使用override def mainClass = Some("foo.Foo"),以便运行目标运行foo.Foo