将 sbt-web 资源 jar 添加到 sbt-native-packager 的类路径
add sbt-web resources jar to classpath of sbt-native-packager
我有一个多项目构建,我正在尝试将包含 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 / is not a member of sbt.Project
managedClasspath in website += website/web-assets:packageBin
我如何在 运行 阶段任务时创建带有资产的 jar,并将其放在启动脚本的类路径中
您将 sbt-console 命令与 build.sbt
命令混合使用。
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)
我没有直接测试这个,因为我不知道你的确切配置。然而,这应该会给你正确的方向。
我有一个多项目构建,我正在尝试将包含 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 / is not a member of sbt.Project
managedClasspath in website += website/web-assets:packageBin
我如何在 运行 阶段任务时创建带有资产的 jar,并将其放在启动脚本的类路径中
您将 sbt-console 命令与 build.sbt
命令混合使用。
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)
我没有直接测试这个,因为我不知道你的确切配置。然而,这应该会给你正确的方向。