我有两个(可能更多)应用程序用Play 2.4.x编写。 我想开始将不同的功能委派给不同的应用程序并将它们托管在不同的服务器上。现在,我的问题是大多数这些组件都需要共享相同的模型。 我正在使用Ebean和MySQL。
有一种简单的方法吗?我用谷歌搜索了如何在Play中创建模块,但大多数结果都是参考Play 1.x或者没有很好的文档记录。
有没有办法在外部依赖项中对模型进行分组,或者有更好的方法吗?
谢谢!
答案 0 :(得分:2)
有!下面将向您展示如何创建子项目,将其打包,发布到本地.ivy存储库,并将其导入父项目。
$ activator new
项目根/ SRC / JAVA /主/ COM / myCompany的/公
编辑build.sbt
name := """mycompany-commons"""
organization := "com.mycompany.commons"
version := "1.0"
scalaVersion := "2.11.6"
libraryDependencies ++= Seq()
在项目根目录中,在控制台中创建包(jar),运行:
$ activator package
此时,您应该有一个可以添加到本地托管的软件包存储库的jar。对于此示例,我将显示您必须将其添加到本地.ivy存储库
仍然在子项目目录中:
$ activator publish-local
现在您已将lib发布到本地ivy存储库,将新依赖项添加到父项目。
在build.sbt中,将以下内容添加到libraryDependencies:
"com.mycompany.commons" % "mycompany-commons_2.11" % "1.0"
重建您的父项目,它应该能够使用您在上面创建的包中的代码
了解详情:
http://www.scala-sbt.org/0.13/tutorial/Library-Dependencies.html https://www.playframework.com/documentation/2.4.x/SBTSubProjects