maven 工程之间的继承以及聚合的关系

1、maven 工程间的继承关系(例如,统一管理各个工程之中对 junit 依赖的版本)


    a、之前创建的三个 maven 工程的现状:

        Hello 依赖的 junit :4.0

        HelloFriend 依赖的 junit:4.0

        MakeFriends 依赖的junit:4.9


wKiom1kc7fbgZm7QAABPOTvRboE716.png

wKioL1kc7fbij5gkAAAj3rfTNi8637.png

wKiom1kc7faw4Bg4AABMXbUYaec441.png


    注:由于 test 的依赖范围不能够传递,所以必须在各个工程中明确声明使用 junit 依赖的版本和 jar 包名。


    b、为了解决这类问题,需要在 maven 中引入我们现在所说 maven 工程间的继承关系。首先需要创建一个父工程,父工程之下有 Helllo、HelloFriend 和 MakeFriends 三个子工程。(需要注意,创建父工程需要使用 pom 的 包生成方式)


wKioL1kc76iww9UoAAAdR3xIHN4939.png


    c、在子工程中声明对父工程的引用:


wKiom1kc8WrQKyeZAABiUfsDw8M340.png

wKiom1kc8hLzQqR3AABn1sBrgnE585.jpg


    注:../ 为跳转到当前文件的上级目录中。此时在左侧出现了提示,当前工程的 groupId 和 version 和

父工程有重复,可以删除。在 HelloFriend 和 MakeFriends 的 pom.xml 文件中分别加入以上配置。


    d、在父工程中统一管理 junit 的依赖:


wKiom1kc813ARmtOAABbcLcacho414.png    注:在Parent/pom.xml 中统一管理 junit 的依赖时需要使用 dependencyManagement 标签。


    e、可以看到,在 三个子工程的 pom.xml 文件中已经有提示,是否重载 junit 4.9 的版本。(也就是可以将这行配置删除。)



wKioL1kc9HCxgTCsAAB-XJXLeog734.jpg


    f、现在将 Parent/pom.xml 文件中配置的 junit 依赖的版本该为 4.0,可以看到子工程引用的 jar 包中也有了相应的修改。


wKioL1kc9aCjDuduAABZEXxCssM100.png


wKiom1kc9aHwLWWHAABVwBX_v2o473.png


wKiom1kc9aGRYkHQAABSf5XB_kw752.png


    需要注意的是,在将 maven 工程安装进 本地仓库中时,需要先导入父工程,后导入子工程。


2、maven 工程的聚合关系(一次性将所有 maven 工程导入到 本地仓库中。)


    a、应用场景:maven 模块工程较多,一个一个导入比较麻烦。


    b、配置:(在父工程中的 pom.xml 文件中配置 )

    

wKiom1kc94TAYvwwAAB4rwyAH7o388.png


    c、可以看到,当对父工程执行安装命令时, 子工程也会随之安装在本地仓库中。


wKioL1kc-EaBfdSwAAAsebqkhfQ821.png


wKiom1kc-EaybtQ7AAA0IDNjf2A071.png

    



来源:春哥技术博客,欢迎分享,转载请注明出处。(欢迎加春哥团队客服微信号:taike668)

本文地址:https://www.cgtblog.com/kafa/1603.html
上一篇:PyCharm--工程下导入不同路径下模块报      下一篇:MySQL字符编码设置