Play 框架:将常用功能提取到共享子模块中

Play framework: Extract common functionality into a shared submodule

我有3个Play! 2.3 共享大量公共代码的应用程序,包括模型层和视图层。每个应用程序都在自己的 git 存储库中。将应用程序的所有公共部分提取到所有三个应用程序都将依赖的单个模块中的好方法是什么(这样我就不必更改公共代码三次 - 每个应用程序一次)?

  1. 创建一个名为 commons
  2. 的新 Play 项目
  3. 添加位于您其他项目中的公共代码
  4. 使用 activator publish-local
  5. 在本地发布您的 commons 项目
  6. 像任何其他依赖项一样将依赖项添加到每个项目的 build.sbt

注意 1 :不要忘记在 commonsbuild.sbt 中添加 organization := "com.yourcompany" 以具有如下依赖结构:

"com.yourcompany %% "commons" % "1.0.0"

注意 2 :如果您想将应用程序部署到服务器,则必须将 commons 项目托管在外部存储库(Maven 中心、Artifactory , OSS Sonatype...) 或在使用 activator dist.

在本地构建应用程序后发布它们