<project>标签:
<modelVersion>:指定了当前pom的版本
<groupId>反写的公司网址+项目名( 比如:com.***.***.maven01)</groupId>
<artifactId>项目名+模块名 (比如:maven01-model)</artifactId>表示一个实际的模块,一个具体的项目下面往往有很多个模块
<version>当前项目的版本号 (比如:1.0.0-SNAPSHOT)</version>
版本号一般由三个数字组成,第一个0表示大版本号,第二个0表示分支版本号,第三个0表示表示分支版本号
SNAPSHOT表示快照版本
alpha表示内测版本
Bata表示公测版本
Release表示稳定版
GA正式发布
<Packaging>:表示项目的打包方式,默认是jar,还可以打包成war zip pom等
<name>:表示项目的描述名,
<url>:表示项目的地址;
<description>:表示项目的描述;
<dependencies>:项目的依赖列表,依赖列表下包含多个依赖<dependency>
<dependency>: 通过这个标签下的<groupId> <artifactId> <version> <scope> <optional>等来约束依赖的具体信息
<scope>:表示依赖的范围
<optional>:设置依赖是否可选,默认是false,表示子项目是继承的;若是true,那么子项目需要显示引入该依赖。
<exclusions>:排除依赖传递列表,<exclusion>
<build>对构建行为提供相应的支持,<plugins>插件列表 <plugin> ;
<dependencyManagement> 依赖管理,它里面声明的依赖并不会引入到实际的项目中,它一般是定义到父模块中
供子模块继承使用,比如之前的多个maven项目中使用到了junit ,就可以把junit抽象一个父模块中,
其他子模块直接继承就可以了
<parents>:用于子模块中,用来描述子模块对父模块的继承,
<modules>:聚合多个需要运行的maven项目<module>,可以用来同时编译多个模块使用。