我正在寻找为 AWS Lambda 创建 jar 来运行作业任务。目前我的 build.sbt 文件看起来像这样:
lazy val commonSettings = Seq(...)
lazy val core = project
.settings(commonSettings: _*)
lazy val job = project
.settings(commonSettings: _*)
.dependsOn(core)
lazy val service = project
.settings(commonSettings: _*)
.settings(
mainClass in assembly := Some("io.example.service.Lambda"),
assemblyJarName in assembly := "lambda.jar"
)
.dependsOn(core)
运行sbt assembly
将模块组装service
到我的 API 的 jar 中,并且工作正常。然而,该模块job
将有多个Main
类(一个公关工作),并且当我运行sbt assembly job
该service
模块时,它也会被组装(即使它不依赖于它)。
如何将我的设置配置为仅job
在需要时组装模块,并将各个 mainClasses 指定为单独组装的 jar?