How to set main class in build?
Upon sbt run I have multiple choices of main class.
I would like to set a main class so I've writen in build.sbt:
mainClass := Some("aMainClass")
But sbt fails with:
build.sbt:1: error: not found: value aMainClass
I've also tried with project/Project.scala file :
import sbt._
class ExecutableProject(info: ProjectInfo) extends DefaultProject(info) {
override def mainClass = Some("aMainClass")
}
error :
project/Project.scala:3: not found: type aMainClass
How to set the main class in a build?
The main Class must be fully qualified with the package:
Compile/mainClass := Some("myPackage.aMainClass")
This will work for run and it will set the Main-Class in the Manifest when using the package task. The main class for these tasks can be set separately as in:
mainClass in (Compile, run) := Some("myPackage.aMainClass")
mainClass in (Compile, packageBin) := Some("myPackage.anotherMainClass")
Note:
mainClass := Some("myPackage.aMainClass")
does nothing. If you put this in your build file you will receive no warning that it does nothing.
As far as I know, sbt expects here a fully qualified class/object name within your project. For example, if your main class is like this:
package prog
object Main extends App {
// Hic sunt dracones
}
then you would have to give your main class like this:
mainClass := Some("prog.Main")
You get a type error because that type is not simply found.
참고URL : https://stackoverflow.com/questions/6467423/how-to-set-main-class-in-build
'Program Club' 카테고리의 다른 글
| 파이썬에서 월 이름을 월 번호로 또는 그 반대로 (0) | 2020.10.22 |
|---|---|
| ConfigurationManager.AppSettings-수정 및 저장 방법 (0) | 2020.10.22 |
| Django admin ManyToMany inline “has no ForeignKey to” error (0) | 2020.10.21 |
| How to create websockets server in PHP (0) | 2020.10.21 |
| How to fix Android Studio getting stuck executing Gradle tasks? (0) | 2020.10.21 |