-
场景假设: A, B, C三个项目均依赖 common.jar ; A, B 依赖 SpringMVC.jar。
当 common.jar 包和 SpringMVC.jar 进行了更新,则三个项目的pom包均需要对其进行更新。 -
引入新的设计。
新设定一个项目 parent, 其内部没有代码, 只有pom文件。
pom:
<denpendency>
<groupId> xxxCompany </groupId>
<artifactId> common.jar </artifactId>
<versiong> 1.0.1 </versiong>
</denpendency>
<denpendencyManagement>
<groupId> xxxCompany </groupId>
<artifactId> springMVC.jar </artifactId>
<versiong> 1.0.1 </versiong>
</denpendencyManagement>
A, B 项目 pom
<parent>
<groupId> xxxCompany </groupId>
<artifactId> parent </artifactId>
<version>1.0.0</version>
<relativePath>../pom.xml</relativePath>
</parent>
C项目 pom
<parent>
<groupId> xxxCompany </groupId>
<artifactId> parent </artifactId>
<version>1.0.0</version>
<relativePath>../pom.xml</relativePath>
</parent>
<denpendency>
<groupId> xxxCompany </groupId>
<artifactId> parent-springMVC.jar </artifactId>
</denpendency>
注意C项目的springMVC.jar依赖没有版本号且名字也进行了改变。是因为它依赖的是 parent项目。 当parent项目的pom依赖包更新了版本的时候, C项目中的springMVC.jar也会同时更新版本。