Skip to content
Xiaoyu's Blog
Go back

Maven多模块下依赖引用问题

一、问题描述

A服务

B服务

此时B-provider依赖A-api进行dubbo调用,我们有什么方式进行服务依赖的分享呢?

二、解决方法

2.1 方式一 私服共享

A-api 开发新的feature以后,mvn deploy到私服,建议通过流水线 cicd方式,在package以后就可以deploy到私服了。B-provider依赖的A-api就可以在A-api走到build后,从私服拉到包。

当然,A-api的developer也可以推代码到私服里。B-provider在开发时就可以拉取到依赖。

存在的问题(暂未解决):

1、私服没有区分环境(开发、测试、生产没有区分)

2、打包机不能拉到最新的jar包=>原因是 我们项目的版本号都是以release结尾,mvn配置-U强制从私服拉包也无效。

2.2 方式二 本地仓库共享(现行方案)

前置条件:A服务和B服务必须在同一个打包机下,以保证共享本地仓库。

流水线中配置mvn安装编译组件

A服务有代码变更,且没有改变版本,这时需要A服务的开发delopy到仓库(确保B服务开发在开发环境可以拉到最新的包),B服务开发要删除本地仓库缓存。

上测试环境时,A服务先进行流水线编译,B服务再进行编译即可


Share this post:

Previous Post
编写starter的正确方式以及感悟
Next Post
JAVA基础(八、JVM线程和内存区域 )