微服务架构 共享依赖如何处理

现在有个微服务项目,项目框架搭建中,多个微服务创建的过程中会用到一些
spring boot常用的依赖,比如spring-boot-starter-web,spring-cloud-starter-eureka-server等必须的依赖,难道每个服务的pom文件中都要有这样的依赖吗,
如果每个pom文件都这样,后期jar升级是不是很麻烦,于是我做了一个共通的jar,把所需要的共通依赖加载进来,可是后面发现好像会有jar冲突的现象,不知道各位有什么好的解决方案

很简单,我们最近也在用springboot,每一个pom文件确实需要这样的依赖。
你可以把你自己通用的jar放在 maven私服中,至于如何搭建maven私服,请自行百度。
然后其他的子项目引入你maven私服里面的jar就行了。后面如果升级,只要改版本号就行了。
还有正常来讲你分布式部署的话,应该每一个项目都是独立的服务。只需要修改服务里面的实现就行了,
这样调用这个服务的系统就都升级了。

建一个父maven工程,具体微服务项目作为子maven工程。父maven工程用来管理所有jar包及版本,
子maven工程可以直接使用父maven的jar包,如果子工程有特殊的jar在子工程的pom文件中引入就可以了。
提供思路,具体实现自行研究

微服务和maven父子工程更配。通过maven继承,将通用的包定义在父类工程中,子类直接引用,不需要重复定义; 而通过maven聚合,将几个独立的maven项目组成一个整体,达到maven工程自动化构建和部署的效果,此时需要使用modules标签 。建议看看maven父子工程的创建。

1.创建一个maven工程作为父工程(此工程放子工程公共依赖);
2把pom标签改为pom并保存;
3.点击Overview视图找到Modules标签,标签右边有两个按钮一个Add,一个Create);
4.点击Create标签创建子工程,子工程自动依赖父工程pom,子工程特殊依赖只要在子工程pom加入即可.