分模块创建项目,预览好处
- 分模块创建项目的结果
-
好处
分模块创建项目好处: 快速构建运行项目。项目架构一目了然。更易于维护扩展。
继承与聚合的概念
-
maven项目的继承
-
继承,主要是为了消除重复配置
比如:父项目中,可以抽取所有项目都使用的依赖统一在父项目配置。
-
父项目,还有一个作用:版本锁定。
-
-
聚合
聚合,主要是为了快速构建运行项目
-
注意
1. 父项目,也是聚合项目,项目的类型都是pom。 2. 父项目与聚合项目,里面不写任何一行java代码与配置。
4.版本锁定的实现
父项目的另外的作用:版本锁定,统一维护组件的版本。
如何实现版本锁定?
通过:dependencyManagement 表示实现。
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.lilei</groupId>
<artifactId>project_parent</artifactId>
<!--pom 表示当前项目是一个父项目,或者是一个聚合项目,他们的项目类型都是pom-->
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<!--modules 当前项目有此标签表示当前项目是聚合项目-->
<modules>
<!--指定聚合的模块-->
<module>project_entity</module>
</modules>
<!--统一定义各个组件的版本号-->
<properties>
<junit_version>4.12</junit_version>
<spring_version>5.0.2.RELEASE</spring_version>
</properties>
<!--父项目(一) 版本锁定-->
<!--
dependencyManagement
1.表示版本锁定
2.作用:在父项目中统一维护各个组件的版本。一旦父项目进行了版本锁定,子项目继承父项目,
默认是不可以使用父项目依赖的包的,需要子项目额外添加依赖,只是不用指定版本号。
-->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit_version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring_version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<!--父项目(二)抽取公用配置-->
<!--父项目中:抽取所有子项目公用的依赖配置-->
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
</dependencies>
</project>