Как структурировать проекты SBT как с банками, так и с войнами? - PullRequest
1 голос
/ 03 марта 2012

Ранее я задавал вопрос здесь о том, как использовать SBT с несколькими веб-приложениями подпроекта.Это сработало отлично, но сейчас я пытаюсь создать подпроект, который НЕ должен быть веб-приложением, но от которого будут зависеть другие проекты веб-приложений (общие модели и т. Д.).Есть ли способ настроить этот подпроект вместе с другими подпроектами веб-приложений ИЛИ мне просто создать отдельный проект alltogehter, который создает jar-файл и в моих веб-приложениях есть зависимость от библиотеки?

В настоящее времяУ меня есть код для проекта, не являющегося веб-приложением, в качестве подпроекта, и от него зависят другие подпроекты, т.е.

 lazy val admin = Project("admin", file("admin")) dependsOn(common) settings(webappSettings :_*)
                                                  // ^^^^ defines the dependency
 ... other project definitions                     

 lazy val common = Project("common", file("common")) 

Это работает, но когда я упаковываю приложения, я получаю common.war.

Я, вероятно, должен также упомянуть, что общий проект содержит некоторый веб-связанный код, который зависит от Lift, но я хочу, чтобы он был упакован как баночка, а не как война ... О, и войны веб-приложений, кажется, включаютфактические классы в сгенерированную войну из общего проекта.

Итак, как я должен:

  • Создать common проект, содержащий код, связанный с сетью (например, потребуется запуститьтесты, использующие Jetty), но скомпилированные в jar?
  • Включить проект common в мои проекты веб-приложений?
  • Может / должен тон common проект будет включен как подпроект вместе с моими веб-приложениями?
...