Maven高级相关知识:模块,打包方式,依赖继承,聚合,私服搭建

01.Maven 是一款构建和管理 Java 项目的工具
1.Maven高级内容包括:
1.分模块设计与开发
2.继承与聚合
3.私服

02.分模块设计:我们在进行项目设计阶段,就可以将一个大的项目拆分成若干个模块,每一个模块都是独立的.
分模块设计就是将项目按照功能/结构拆分成若干个子模块,方便项目的管理维护、拓展,也方便模块
键的相互调用、资源共享。

03.分模块设计方案:
将pojo包下的实体类,抽取到一个maven模块中 tlias-pojo
将utils包下的工具类,抽取到一个maven模块中 tlias-utils
其他的业务代码,放在tlias-web-management这个模块中,在该模块中需要用到实体类
pojo、工具类utils,直接引入对应的依赖即可。

父工程
子工程
子工程

  1. Maven打包方式:
    jar:普通模块打包,springboot项目基本都是jar包(内嵌tomcat运行)
    war:普通web程序打包,需要部署在外部的tomcat服务器中运行
    pom:父工程或聚合工程,该模块不写代码,仅进行依赖管理

05.注意:

<parent>
<groupId>com.itheima</groupId>
<artifactId>tlias-parent</artifactId>
<version>1.0-SNAPSHOT</version>
<relativePath>../tlias-parent/pom.xml</relativePath>
</parent>

在子工程中,配置了继承关系之后,坐标中的groupId是可以省略的,因为会自动继承父工程的.
relativePath指定父工程的pom文件的相对位置(如果不指定,将从本地仓库/远程仓库查
找该工程)。
../ 代表的上一级目录

06. 的区别是什么?
是直接依赖,在父工程配置了依赖,子工程会直接继承下来。
是统一管理依赖版本,不会直接依赖,还需要在子工程中引入
所需依赖(无需指定版本)

07.继承与聚合对比
作用
聚合用于快速构建项目
继承用于简化依赖配置、统一管理依赖
相同点:
聚合与继承的pom.xml文件打包方式均为pom,通常将两种关系制作到同一个pom文件中
聚合与继承均属于设计型模块,并无实际的模块内容
不同点:
聚合是在聚合工程中配置关系,聚合可以感知到参与聚合的模块有哪些
继承是在子模块中配置关系,父模块无法感知哪些子模块继承了自己

  1. 私服
    私服:是一种特殊的远程仓库,它是架设在局域网内的仓库服务,用来代理位于外部的中央仓库,
    用于解决团队内部的资源共享与资源同步问题。
    依赖查找顺序:
    本地仓库
    私服仓库
    中央仓库
    注意事项:私服在企业项目开发中,一个项目/公司,只需要一台即可(无需我们自己搭建,会使
    用即可)。

09.本地私服操作:
解压: 资料中提供的压缩包 apache-maven-nexus.zip
进入目录: apache-maven-nexus\nexus-3.39.0-01\bin
启动服务:双击 start.bat
访问服务:localhost:8081
私服配置说明:将上述配置私服信息的 192.168.150.101 改为 localhost