我有一个多项目配置。其中一个项目需要构建为战争文件以供将来部署。我使用这个 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 的项目中吗?