在sbt run我主类的多种选择.
我想设置一个主要课程,所以我写了build.sbt:
mainClass := Some("aMainClass")
Run Code Online (Sandbox Code Playgroud)
但是sbt失败了:
build.sbt:1: error: not found: value aMainClass
Run Code Online (Sandbox Code Playgroud)
我也试过project/Project.scala文件:
import sbt._
class ExecutableProject(info: ProjectInfo) extends DefaultProject(info) {
override def mainClass = Some("aMainClass")
}
Run Code Online (Sandbox Code Playgroud)
错误:
project/Project.scala:3: not found: type aMainClass
Run Code Online (Sandbox Code Playgroud)
如何在构建中设置主类?
Ric*_*ver 100
主类必须完全符合包:
Compile/mainClass := Some("myPackage.aMainClass")
Run Code Online (Sandbox Code Playgroud)
这将适用于运行,它将在使用包任务时在Manifest中设置Main-Class.这些任务的主要类可以单独设置,如下所示:
mainClass in (Compile, run) := Some("myPackage.aMainClass")
mainClass in (Compile, packageBin) := Some("myPackage.anotherMainClass")
Run Code Online (Sandbox Code Playgroud)
注意:
mainClass := Some("myPackage.aMainClass")
Run Code Online (Sandbox Code Playgroud)
什么也没做.如果将它放在构建文件中,则不会收到任何警告.
Lan*_*nbo 23
据我所知,sbt这里需要一个完全限定的类/对象名称.例如,如果您的主类是这样的:
package prog
object Main extends App {
// Hic sunt dracones
}
Run Code Online (Sandbox Code Playgroud)
那么你必须给你的主类这样:
mainClass := Some("prog.Main")
Run Code Online (Sandbox Code Playgroud)
您会收到类型错误,因为找不到该类型.
| 归档时间: |
|
| 查看次数: |
41867 次 |
| 最近记录: |