我之前在这里问过一个关于如何将 SBT 与多个子项目 Web 应用程序一起使用的问题。这工作得很好,但是现在我正在尝试创建一个不应该是 web 应用程序的子项目,但其他 web 应用程序项目将依赖于它(通用模型等)。有没有办法将这个子项目与其他 Web 应用程序子项目一起设置,或者我应该只创建一个单独的项目 alltogehter 来创建一个 jar 并让我的 webapps 将它作为库依赖项?
目前我将非 webapp 项目的代码作为子项目,其他子项目依赖于它,即
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 的 web 相关代码,但我希望它被打包为 jar 而不是战争......哦,webapp 战争似乎将实际的类包含到共同项目产生的战争。
那么我应该如何:
- 创建一个
common
包含 Web 相关代码的项目(例如需要运行使用码头的测试),但被编译成 jar? - 将项目包含
common
在我的 Web 应用程序项目中吗? - 该项目是否可以/应该
common
与我的 Web 应用程序一起作为子项目包含在内?