您的位置:首页 > 其它

Maven-继承、聚合

2018-02-10 15:36 197 查看
为什么需要继承机制?解决什么问题
①现状:
Hello依赖的Junit 4.0
HelloFriend依赖的是Junit4.0
MakeFriend依赖的是Junit4.9
由于test范围的依赖不能传递,所以必然会分散在各个模块工程中,很容易造成版本不一致。
 
②需求:统一管理各个模块工程中对Junit依赖的版本
③解决思路:将Junit依赖管理提取到“父”工程中,在子工程中声明Junit依赖时不指定版本,在父工程中统一设定的为准。同时便于修改。
④操作步骤:
创建一个Maven工程作为父工程,注意打包方式是pom

<groupId>com.zjc.maven</groupId>
  <artifactId>Parent</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>pom</packaging>
在子工程中声明对父工程的引用

 <parent>
    <groupId>com.zjc.maven</groupId>
    <artifactId>Parent</artifactId>
    <version>0.0.1-SNAPSHOT</version>
     <!-- 以当前文件为基准的父工程pom.xml文件的相对路径 -->
  <relativePath>../Parent/pom.xml</relativePath>
  </parent>
将子工程测坐标与父工程坐标重复的内容删除

<groupId>com.zjc.maven</groupId>

 

在父工程中统一Junit的依赖

  <!-- 依賴的管理 -->
  <dependencyManagement>
   <dependencies>
    <dependency>
     <groupId>junit</groupId>
     <artifactId>junit</artifactId>
     <version>4.0</version>
    </dependency>
   </dependencies>
  </dependencyManagement>
在子工程中删除Junit依赖的版本号部分
 
 
注意:配置继承后要先安装父工程。

安装工程时需要一个个,有没有一键安装各个模块工程
   
②配置方式:
 
在一个总的聚合工程中配置各个参与聚合的模块(会识别依赖关系,顺序无关)

<modules>
<module>teachingManagement-api</module>
<module>teachingManagement-service</module>
<module>teachingManagement-web</module>
</modules>
③在聚合工程的pom.xml上右键 maven install
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: