Mam ~ 6 głównych klas w mojej aplikacji, przez zwykle używam tylko jednego z nich, więc chciałem uruchomić go automatycznie przez sbt. SBT pozwala zdefiniować dwa klucze w build.sbt:sbt: wybór głównej klasy do uruchomienia
// Run Key
val selectMainClass = TaskKey[Option[String]]("select-main-class", "Selects the main class to run.")
val mainClass = TaskKey[Option[String]]("main-class", "Defines the main class for packaging or running.")
więc zdefiniowano je (przykładowy projekt, dwie klasy - Main1 & main2 w głównym katalogu źródłowym):
mainClass := Some("Main1")
selectMainClass := Some("Main1")
I `pokazać main-class' z wiersza SBT również wydaje się działać:
[info] Some(Main1)
Ale SBT za run
zadanie nadal skłania mnie do głównej klasy.
Również sbt-revolver nie działa z wieloma klasami z wyjątkiem java.util.NoSuchElementException: None.get
Korzystanie SBT 0.11.2.
Co ja tu robię źle?
Jaki byłby równoważny sposób/składnia definiowania tego wewnątrz build.sbt? – matanster
@matt mainClass w Revolver.reStart: = Some ("some.package.mainClass") – VasyaNovikov
Właściwie przełączyłem się na zwykły '~ run', który uruchamia moją aplikację w tej samej JVM co SBT, a nie jako oddzielny ... da to próba .. rewolwer nadziei wciąż działa z nowymi wersjami Scala – matanster