sbt-native-packager 在不同的模块中定义多个 mainClasses
Posted
技术标签:
【中文标题】sbt-native-packager 在不同的模块中定义多个 mainClasses【英文标题】:sbt-native-packager defining multiple mainClasses in different modules 【发布时间】:2019-03-14 01:09:09 【问题描述】:我想打包多个 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
步骤中找不到 mainClasses。
当我将 mainClass 定义为全局参数时,它可以工作,但我无法以这种方式构建两个自动运行的 Docker 映像。
感谢您的帮助
【问题讨论】:
【参考方案1】:我对@987654321@ 没有经验,但mainClass
是类路径而不是文件路径,所以它必须定义为:
mainClass in (Compile, packageBin) := Some("com.bar.baz.Foo")
【讨论】:
以上是关于sbt-native-packager 在不同的模块中定义多个 mainClasses的主要内容,如果未能解决你的问题,请参考以下文章
SBT 使用 sbt-native-packager 如何创建不同的构建文件?
在 sbt-native-packager 中配置“动态”命令行参数