我有一个多项目构建,我试图将带有sbt-web生成的资产的jar添加到启动脚本的类路径中
我感兴趣的项目名为website
。
在sbt中输入show website/web-assets:packageBin
创建并显示带有资产的jar。我尝试输入(managedClasspath in website) += website/web-assets:packageBin
,但这并没有编译:
path / to / build.sbt:58:error:value /不是sbt.Project的成员
网站中的managedClasspath + = website / web-assets:packageBin
如何在运行舞台任务时创建带有资源的jar,并将其放在启动脚本的类路径中
答案 0 :(得分:2)
您正在使用build.sbt
命令混合sbt-console命令。
sbt-web docs给出了一个明确的示例,说明如何为单个项目执行此操作:
(managedClasspath in Runtime) += (packageBin in Assets).value
所以现在我们为多模块构建做同样的事情。假设你有build.sbt
看起来像这样
val root = (project in ".")
.aggregate(common, website)
val common = (project in "commons")
.settings(
libraryDependencies ++= Seq(...),
...
)
val website = (project in "commons")
.enablePlugins(JavaServerAppPackaging, SbtWeb)
.settings(
// ------ You configure it like a single module project
(managedClasspath in Runtime) += (packageBin in Assets).value
// ----------------------------------------------------
)
.dependsOn(common)
我没有直接测试过这个,因为我不知道你的确切配置。然而,这应该给你正确的方向。