我使用package
任务(来自xsbt-web-plugin)将项目打包到战争中,并使用assembly
任务(来自sbt-assembly)将项目打包到 jar 中。
我有一个多模块构建,一些模块被打包成战争,一些被打包成罐子。
我想设置构建以执行assembly
任务并且:
- Jar 模块打包成 jar 文件
- 战争模块被打包成战争文件
如何在执行package
任务的同时执行战争项目的assembly
任务?
我使用package
任务(来自xsbt-web-plugin)将项目打包到战争中,并使用assembly
任务(来自sbt-assembly)将项目打包到 jar 中。
我有一个多模块构建,一些模块被打包成战争,一些被打包成罐子。
我想设置构建以执行assembly
任务并且:
如何在执行package
任务的同时执行战争项目的assembly
任务?
package
任务和任务都assembly
评估为File
类型,因此正如@James 评论的那样,您应该能够assembly
在 webapp 项目中重新连接任务以运行package
。
lazy val commonSettings = Seq(
scalaVersion := "2.11.4"
)
lazy val webappAssembly = Seq(
assembly := packageWar.value
)
lazy val root = (project in file(".")).
aggregate(app, webapp).
settings(commonSettings: _*)
lazy val app = (project in file("app")).
settings(commonSettings: _*)
lazy val webapp = (project in file("webapp")).
settings(commonSettings ++ jetty() ++ webappAssembly: _*).
settings(
libraryDependencies += "javax.servlet" % "javax.servlet-api" % "3.0.1" % "provided"
)