将sbt-web资源jar添加到sbt-native-packager的类路径中

8
我有一个多项目构建,我正在尝试将由sbt-web生成的带资产的jar添加到启动脚本的类路径中。
我感兴趣的项目名为“website”。
在sbt中键入show website/web-assets:packageBin会创建并显示包含资产的jar。我尝试将(managedClasspath in website) += website/web-assets:packageBin放入其中,但那无法编译:
路径/to/build.sbt:58: error: value / is not a member of sbt.Project managedClasspath in website += website/web-assets:packageBin
当我运行stage任务时,如何创建带资产的jar,并将其放置在启动脚本的类路径上?
1个回答

2
你正在混合使用sbt-console命令和build.sbt命令。
sbt-web文档提供了一个单个项目的清晰示例:sbt-web文档
(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)

我没有直接测试过这个,因为我不知道你的确切配置。但是这应该会给你正确的方向。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接