我有Maven项目A,它依赖于Maven项目B.这些由我在GitHub存储库中维护。项目B是一个将被许多其他项目使用的实用程序项目。项目A是使用项目B中的实用程序的应用程序。我的Maven项目不存在于任何公共存储库中,目前正在开发中。
现在,我希望另一个人与我的项目A进行整合。我不能只打包我的项目并将它们发送,因为它们会不断变化。他/她必须在他/她的构建环境中签出我的代码,并将我的部件集成到他/她的应用程序中,并定期从我的回购库中抽取更改。
这里的要点是,我希望两个项目齐头并进。谷歌搜索后,我结束了这两个解决方案:
1)使他们同一父项目的兄弟姐妹。这种方法的优点是,集成商在签出父项目时将始终采取所有依赖关系。但是,这个解决方案永远将这两个项目紧密地结合在一起项目B是一个实用项目,将被不关心项目A的其他项目使用。
2)“手动”指示集成商签出两个项目并处理对他/她的依赖关系,例如,通过将项目安装到他/她的本地Maven repo或让IDE解决工作区依赖关系。这种方式虽然我必须手动告诉集成商的依赖关系,他/她将不得不记得将更新版本重新安装到本地仓库。如何让两个Maven项目松散耦合?
是否有任何其他策略让集成商以自动方式获取所有依赖关系,并且能够自动构建我的代码而无需人工干预?另一个要求是项目B不会与项目A紧密耦合,因此未来可以由其他项目自由使用。
我脑海中出现的一些问题必须与Maven依赖关系方案上的不同结构或者支持该过程的持续集成组件有关。然而,我并没有明确的策略来解决这个问题,或者甚至有可能......任何线索?
是的,使用这一段时间似乎做了这项工作。接受答案并致谢! –