我想打包多个docker映像,每个映像都有自己的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
}
这不起作用,因为在stage
步骤中找不到mainClass。
当我将mainClass定义为全局参数时,它可以工作,但是我不能以此方式构建两个自动运行的Docker映像。
感谢您的帮助
答案 0 :(得分:3)
我对sbt-native-packager
不熟悉,但是mainClass
是类路径而不是文件路径,因此必须将其定义为:
mainClass in (Compile, packageBin) := Some("com.bar.baz.Foo")