我有一个Java项目“ A”,它拥有自己的git存储库,CI和AWS服务器。我还有另一个带有git存储库,CI和AWS lambda后端的Java项目“ B”。
在项目“ A”中,我开发了一些功能,可以将其提取为库并在项目“ B”中使用。
我的问题是哪种方式更适合这种情况?
我现在正在考虑以下解决方案:
1) 将这两个项目合并为一个并使用Gradles Multi-Project builds
2) 仅为库创建第三个项目,并将其上传到某些外部源中,例如私有maven存储库。然后在项目“ A”和“ B”中使用它。
缺点:
1)第二个项目是单独的微服务,将它包含在另一个项目中似乎更合乎逻辑。同样,项目“ B”在Kotlin中,而“ A”在Java中。 “ A”不使用弹簧,“ B”不使用弹簧。随着时间的推移,必须将这些不同的项目维护在一起。
2)更改库中的代码将需要更新两个项目中的依赖关系。同样,库代码似乎并不大,无法为其创建单独的git repo和CI。
如果有人分享他们在这件事上的经验,那将真的很有帮助。