sbt-native-packager определяет несколько основных классов в разных модулях - PullRequest
0 голосов
/ 09 октября 2018

Я хотел бы упаковать несколько образов докеров, каждый из которых имеет свой собственный mainClass, чтобы обеспечить запуск приложения при запуске.

lazy val `core` = project.in(file("core"))
  .enablePlugins(JavaServerAppPackaging, DockerPlugin)
  .settings{
    mainClass in Compile := Some("path/to/Core") // Doesn't work
  }

lazy val `benchmark` = project.in(file("benchmark"))
  .enablePlugins(JavaServerAppPackaging, DockerPlugin)
  .settings{
    mainClass in Compile := Some("path/to/Benchmark") // Doesn't work
  }

Это не работает, так как mainClasses не найдены в stage step.

Когда я определяю mainClass как глобальный параметр, он работает, но я не могу создать два автоматически запускающихся образа Docker таким образом.

Спасибо за вашу помощь

1 Ответ

0 голосов
/ 09 октября 2018

У меня нет опыта работы с sbt-native-packager, но mainClass - это путь к классу, а не путь к файлу, поэтому он должен быть определен как:

mainClass in (Compile, packageBin) := Some("com.bar.baz.Foo")
...