场景:
A开发小组开发了3个jar包,分别是A1、A2、A3。这部分架包分别被系统B、C、D 三个系统引用。
随着系统的发展,A开发小组对jar进行了升级,目前产线上有A1.1 A1.2 A1.3;B1.1 B1.2 B1.3;C1.2 C1.1 C1.3 C1.4 这几个版本。而B、C、D系统引用的 jar 各个版本都有,且A系统升级jar包后想让B、C、D都更新为最新的jar包比较困难,因为需要各种测试等。。。简单来说,就是推新架构较为困难。这个时候就需要静默升级,让应用系统感知不到。
实现方式:使用pom做版本管理。
第一步:创建一个maven工程(项目AA),只作为jar版本管理。该项目中只用一个pom文件,内容如下
<?xml version="1.0" encoding="UTF-8"?>
4.0.0
com.test
runtime-parent
1.0-SNAPSHOT
pom
org.apache.dubbo
dubbo-common
2.7.2
第二步:创建一个maven项目(项目BB),也只有一个pom文件,但该项目已将需要的jar引入。之后将这个项目打成pom包,内容如下
com.test
runtime-parent
1.0-SNAPSHOT
4.0.0
com.test
runtime
1.0-SNAPSHOT
pom
org.apache.dubbo
dubbo-common
第三部:应用将第二部的pom包依赖进来(项目CC)