有一个多项目sbt构建配置,在一个仓库中包含一堆微服务。每个微服务都是独立的。另外,还有一个名为common
的独立存储库,其中包含微服务的共享模型。
我想知道的是如何处理common
项目和使用它的微服务之间的依赖关系。
git子模块在这种情况下是否合适?
一种可能的解决方案是在主存储库中创建子模块common
,并使每个微服务都依赖于该模块:
serviceA.dependsOn(common)
serviceB.dependsOn(common)
...
另一种解决方案是为每个微服务添加通用的特定依赖项:
serviceA
.settings(
libraryDependencies ++= Dependencies.common
)
这些方法的优点/缺点是什么? 通常,管理共享代码关系的正确方法是什么? 谢谢,谢谢!