Scala微服务项目中的Git子模块与库依赖关系

时间:2019-08-05 18:37:21

标签: sbt microservices git-submodules

有一个多项目sbt构建配置,在一个仓库中包含一堆微服务。每个微服务都是独立的。另外,还有一个名为common的独立存储库,其中包含微服务的共享模型。

我想知道的是如何处理common项目和使用它的微服务之间的依赖关系。 git子模块在这种情况下是否合适?

一种可能的解决方案是在主存储库中创建子模块common,并使每个微服务都依赖于该模块:

serviceA.dependsOn(common)
serviceB.dependsOn(common) 
...

另一种解决方案是为每个微服务添加通用的特定依赖项:

serviceA
.settings(
   libraryDependencies ++= Dependencies.common
) 

这些方法的优点/缺点是什么? 通常,管理共享代码关系的正确方法是什么? 谢谢,谢谢!

0 个答案:

没有答案