maven(十)-继承




继承

如果项目划分了多个模块,都需要依赖相似的jar包,只需要创建一个父模块,在它的pom.xml文件中配置依赖jar包。功能模块只需要继承父模块,就可以自动得到其依赖jar包,而不需要在每个模块中都重复配置。


创建父模块

在eclipse中创建项目-maven project,这里勾选 create a simple.... 下一步

输入group id和artifact id,packaging必须选择pom,只有pom才能被继承,,其他不用管,完成

创建后是这样的,删除src,只需要有pom.xml就行了

修改pom.xml,配置公共的依赖jar包

<dependencies>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>4.3.6.RELEASE</version>
  </dependency>
</dependencies>

项目执行 maven install,将parent.pom安装到本地仓库


子模块

在子项目的pom.xml中不需要配置依赖,只要继承parent.pom的坐标,就可以自动依赖parent的所有jar包

<parent>
  <groupId>com.company</groupId>
  <artifactId>parent</artifactId>
  <version>0.0.1-SNAPSHOT</version>
</parent>

依赖管理

由于每个子模块的功能不同,如果直接继承父模块,可能会将不需要的多余jar包也继承过来。如果父模块使用<dependencyManagement>,子模块可以选择性的继承

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>4.3.6.RELEASE</version>
    </dependency>
  </dependencies>
</dependencyManagement>


在子模块中,配置parent继承以后,不会自动依赖,需要手动添加需要的依赖,只是不需要再配置其版本参数,便于在parent中统一管理jar包版本

<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-core</artifactId>
</dependency>


插件管理

同样也可以使用<pluginManagement>来管理插件的继承,使用方法参考<dependencyManagement>

posted @ 2017-02-25 10:01  free_java  阅读(222)  评论(0编辑  收藏  举报