Могу ли я использовать оба в моем проекте?Запуск приложения с sbt и Akka Microkernel
Раньше у меня был объект только App
, но с тех пор, как я начал использовать Microkernel
Мне нужно иметь класс, распространяющийся на Bootable
.
Давайте предположим, что у меня есть что-то вроде этого:
lazy val backend = (project in file("backend"))
.enablePlugins(AkkaAppPackaging)
.enablePlugins(UniversalPlugin)
.settings(
name := "backend",
mainClass in Compile := Some("backend.Backend"),
libraryDependencies ++= Dependencies.backend,
javaOptions in run ++= Seq("-Djava.library.path=./sigar"),
fork in run := true)
.dependsOn(api)
.aggregate(api)
и Backend класс вроде этого:
class Backend extends Bootable {
val system = ActorSystem("mobile-cluster")
def startup() = {
FactorialBackend startOn system
}
def shutdown() = {
system.shutdown()
}
}
Я не могу начать приложение с sbt run
(есть ошибка об отсутствии статического основной метод) , но он работает с Microkernel, когда я запускаю sbt stage
и следующее приложение запуска, используя сгенерированный скрипт, он отлично работает.
Когда я использую что-то вроде этого:
object Backend extends App {
val system = ActorSystem("application")
FactorialBackend startOn system
}
Я могу начать приложение с sbt "project backend" "run"
, но Microkernel больше не работает.
Что я могу сделать с этим? Должен ли я иметь отдельные файлы для запуска приложения с Microkernel и sbt или отдельными конфигурациями сборки?
Мне нужна рабочая версия приложения с использованием Microkernel, и я также хочу просто запустить и отладить мое приложение во время разработки с помощью sbt.
Я попытался использовать один и тот же класс или объект, расширяющий оба атрибута App и Bootable, или настроить sbt.build, чтобы иметь отдельную конфигурацию для Microkernel и sbt run
, но это не помогло.
Это хорошее решение. Я сначала, хотя из сопутствующего объекта, расширяющего ваш «загрузочный» класс с помощью «App», и просто запускает метод «startup», что является прекрасным решением, если в разделе загрузки не так много. Кстати, спасибо за попытку моего активатора :) – Muki