两个Play项目取决于Common项目

时间:2018-07-14 20:10:03

标签: scala playframework sbt devops

我有两个单独的Play Framework 2.6.x项目,都有各自的路线。

他们两个都希望共享相同的模型,操作和其他基本上没有依赖关系的代码。

所有内容都在同一VCS根目录下。

组织项目结构的最佳方法是什么,以便我们可以让两个Play项目都可以访问/取决于通用模型和操作以及后续操作,我们还可以共享路线以便您可以在访问其他Play应用程序路由时获得编译时安全性?

编辑:这是我目前在的位置... 结构看起来像这样 function addNewOption(prop, value) { model.productPreferences[prop].push({name: value}) model.preferenceDTO[prop] = {name: value} }

父母build.sbt如下所示:


parent
  common
     build.sbt
  other
     build.sbt
  build.sbt

lazy val `backend` = (project in file(".")) .settings( Defaults.coreDefaultSettings ++ commonSettings ++ Seq( libraryDependencies ++= Seq() ) ) .enablePlugins(PlayScala).aggregate(common, other) lazy val `other` = (project in file("modules/other")).dependsOn(common) lazy val `common` = project in file("modules/common") common build.sbt看起来完全一样。本质上是标准的Play Framework build.sbt文件。

项目可以编译,但是问题是IntelliJ无法识别othercommon中的文件,即使在父级中,我也声明了依赖顺序

谢谢!

1 个答案:

答案 0 :(得分:0)

我不确定原因,但有时拥有子build.sbt文件不能很好地工作。尝试将这些设置移至根文件。