一、新建maven项目
1、New --> Maven project
2、勾选“create a simple project”,表示不使用任何模板
3、填写项目信息
Packaging:项目最终被打包成什么类型
(1)、jar:java项目
(2)、war:web项目
(3)、pom:逻辑父项目。只要一个项目有子项目则其必须是pom类型。
4、开始下载文件到Local Repository中,repository文件目录逐渐增多。
二、Maven项目目录结构(jar类型)
三、Maven项目之间的关系
1、依赖关系
(1)、标签<dependency>把另一个项目的jar引入到当前千亩
(2)、自动下载另一个项目所依赖的其他项目
<dependencies> <dependency> <groupId>com.zzu</groupId> <artifactId>MavenStudy_3_create</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> </dependencies>
2、继承关系
(1)、父项目是pom类型
(2)、子项目一般是jar或者war,但如果子项目还是其他项目的父项目,子项目也是pom类型。
(3)、有继承关系后,子项目的pom.xml中出现<parent>标签。如果子项目的<groupId>和<version>与父项目相同,则在子项目中可以不配置<groupId>和<version>。
<parent> <groupId>com.zzu</groupId> <artifactId>MavenStudy_5_parent</artifactId> <version>0.0.1-SNAPSHOT</version> </parent>
(4)、父项目pom.xml中看不到有哪些子项目,在逻辑上具有父子项目关系。
3、聚合关系
(1)、前提是继承关系。父项目会把子项目包含到父项目中。
(2)、子类型必须是 Maven Module 而不是 Maven project。新建聚合项目的子项目时,点击父项目右键新建 Maven Module。
(3)、具有聚合关系的父项目,在 pom.xml 文件中出现 <modules> 标签。
<modules> <module>MavenStudy_5_child2</module> </modules>
(4)、具有聚合关系的子项目,在 pom.xml 文件中出现 <parent> 标签。
<parent> <groupId>com.zzu</groupId> <artifactId>MavenStudy_5_parent</artifactId> <version>0.0.1-SNAPSHOT</version> </parent>
4、聚合项目和继承项目的区别
在语义上聚合项目的父项目与子项目关系性较强。
5、<dependencyManagement> 标签
(1)、作用:声明可能使用到的所有jar
(2)、子项目中只需要有坐标的 <groupId>和<artifactid>,<version>继承父项目。
(3)、在父项目中 <properties> 定义好所用版本号,便于版本的统一管理。
(4)、父项目的 pom.xml
<properties> <spring-version>4.1.6.RELEASE</spring-version> </properties> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${spring-version}</version> </dependency> </dependencies> </dependencyManagement>
(5)、子项目 pom.xml
<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> </dependency> </dependencies>