一脚踩进java——Maven中项目之间的关系

一、Maven项目目录结构

1.1 截图

1.2 src/main/java 真实目录的快捷目录,写java代码

1.3 src/main/resources快捷目录

  1)存放配置文件

  2)虽然看见resources目录,但是所有配置文件最终被编辑放到class类路径

1.4 src/test/java 写测试java代码

1.5 src/test/resources 写测试配置文件

1.6 pom.xml   maven的配置文件

  1)当前项目所依赖的其它 项目 或 jar 或 插件 等

二、Maven之间的关系

2.1 依赖关系

  1)标签<dependency>把一个项目的jar包引入到当前项目

  2)自动下载另一个项目所依赖的其它项目

2.2 继承关系

  1)父项目是pom类型

  2)子项目是jar或war,如果子项目还是其它项目父项目,子项目也是pom类型

  3)有继承关系后,子项目出现<parent>标签

    ①如果子项目的<groupId>和<version>标签与父项目相同,子项目可以不用配

<parent>
    <groupId>com.hq</groupId>
    <artifactId>maven-parent</artifactId>
    <version>0.0.1-SNAPSHOT</version>
</parent>
<groupId>com.hq</groupId>
<artifactId>maven-child</artifactId>
<version>0.0.1-SNAPSHOT</version>

  4)父项目pom文件中看不到包含了哪些子项目,在逻辑上有父子项目关系

2.3 聚合关系

  1)前提也是继承,父项目会把子项目包含在父项目中

  2)子项目的类型必须是Maven Module,而不是Maven Project

  3)新建聚合项目的子项目时,点击父项目右键 Maven Module

  4)具有聚合关系的父项目,在pom.xml中<modules>

  5)具有聚合关系的子项目,在pom.xml中<parent>

2.4 聚合项目和继承项目的区别

  1)语义上聚合项目父项目和子项目关系性较强

  2)语义上单纯继承项目父项目和子项目关系性较弱

2.5 <dependencyManagement>写在父项目

  1)作用:声明可能使用到的所有的jar

  2)子项目中只需要坐标的<groupId>和<artifactId>,<version>继承父项目

  3)在父项目中<properties>把所有版本号进行统一管理

 2.6 父项目pom.xml

  1)<properties>子标签自定义

  2)${名字}引用标签的值

猜你喜欢

转载自www.cnblogs.com/smilehq/p/12984384.html