Как "упаковать" одни модули в jar-файлы, а другие - в войны в многокомпонентной сборке с одной задачей?

Я использую package задача (из xsbt-web-plugin) упаковать проект в войну, и assembly задача (из sbt-assembly) упаковать проект в банку.

У меня есть многомодульная сборка, и некоторые модули упакованы в войны, а некоторые в банки.

Я хотел бы настроить сборку для выполнения assembly Задача и:

  • Jar-модули упакованы в JAR-файлы
  • Военные модули упакованы в военные файлы

Как выполнить package задание для военных проектов при выполнении assembly задача?

1 ответ

И то и другое package задача и assembly задача оценить File типа, так как @James прокомментировал, вы должны быть в состоянии перемонтировать assembly задача в проекте веб-приложения для запуска 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"
  )
Другие вопросы по тегам