2

我有一个多项目配置。其中一个项目需要构建为战争文件以供将来部署。我使用这个 sbt 插件:https ://github.com/JamesEarlDouglas/xsbt-web-plugin来构建战争。但是我需要它包含依赖项目作为罐子。

在 Maven 中,我将其他模块作为依赖项包含在我的 WAR 模块中,它们最终出现在 WAR:lib 目录中。似乎 sbt-web-plugin 默认行为是不包含它们

我的意思是:这是我的 parent.scala 文件的一部分

lazy val dataPopulator = Project(
"data-populator",
    file("data-populator"),
    settings = buildSettings ++ Seq (libraryDependencies ++= dataPopulatorDeps)) 

lazy val warProject = Project(id = "rest-ws",
    base = file("rest-ws"),
    settings = buildSettings ++ Seq (libraryDependencies)) dependsOn(dataPopulator)

上面的dataPopulator项目打包时会创建一个jar。上面的warProject项目在它的目录 rest-ws/build.sbt 中有一个特定的build.sbt :

seq(webSettings :_*)

name := "main-ws"

libraryDependencies += "org.mortbay.jetty" % "jetty" % "6.1.22" % "container"

当我运行 package 命令(由 web 插件添加)时,它会创建一个战争,问题是这个战争不包括dataPopulator jar,而它在编译时依赖它。

有人建议如何将某些模块中生成的 jar 工件包含到另一个打包为 war 的项目中吗?

4

0 回答 0