如何在构build主要类?

sbt run我有多个主要类的select。

我想设置一个主类,所以我写在build.sbt

 mainClass := Some("aMainClass") 

但是,sbt失败:

 build.sbt:1: error: not found: value aMainClass 

我也尝试过使用project/Project.scala文件:

 import sbt._ class ExecutableProject(info: ProjectInfo) extends DefaultProject(info) { override def mainClass = Some("aMainClass") } 

错误:

  project/Project.scala:3: not found: type aMainClass 

如何在构build中设置主类?

主类必须完全符合包装要求:

 mainClass in Compile := Some("myPackage.aMainClass") 

这将用于运行,并且在使用包任务时它将在Manifest中设置Main-Class。 这些任务的主要类别可以单独设置,如下所示:

 mainClass in (Compile, run) := Some("myPackage.aMainClass") mainClass in (Compile, packageBin) := Some("myPackage.anotherMainClass") 

注意:

 mainClass := Some("myPackage.aMainClass") 

什么也没做。 如果你把它放在你的build文件中,你将不会收到任何警告。

据我所知, sbt期望在你的项目中有一个完全合格的类/对象名称。 例如,如果你的主类是这样的:

 package prog object Main extends App { // Hic sunt dracones } 

那么你将不得不给你的主要类如下所示:

 mainClass := Some("prog.Main") 

你得到一个types错误,因为这种types不是简单的find。