继承
如果项目划分了多个模块,都需要依赖相似的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>