我想分享一个在使用git子模块的项目之间共享服务的方法。 该项目结构类似于以下内容:
contacts project
├ security module (shared, uses common security DB)
├ contacts dao module
├ contacts web module
└ contacts api module
products project
├ security module (shared, uses common security DB)
├ products dao module
├ products web module
└ products api module
accounts project
├ security module (shared, uses common security DB)
├ accounts dao module
├ accounts web module
└ accounts api module
一般来说,这是一个微服务架构,每个项目都是完全自包含的,并且有它自己的Git仓库。唯一不同的部分是共享的安全数据库(非我选择)。我想开发一个共享的安全服务,并将其作为git子模块(一个将另一个仓库版本化映射为子文件夹的方法)与所有微服务项目共享。
Git子模块将包含一个Maven子模块,可以在每个多模块Maven项目中包含它。
我的问题是Maven子模块POM文件中的父引用。
<parent>
<groupId>com.org.project</groupId>
<artifactId>project-a-artifact</artifactId>
<version>1</version>
</parent>
因为Maven POM包含对其父级的显式引用,我看不到任何实现我想要的方式。
有什么建议吗?