Maven
分模块设计
将项目按照功能拆分成若干模块,方便项目的管理维护\拓展\也方便模块间的相互调用,资源共享
继承与聚合
将所有子工程共有的依赖提取到父工程中,子工程继承父工程,就可以使用父工程中拥有的依赖
概念
继承描述的是两个工程之间的关系,与Java中的继承相似,子工程可以继承父工程中的配置信息,常见于依赖关系的继承
作用:简化依赖配置\统一管理依赖
实现:<parent>...</parent>
打包的方式
-
jar:普通模版打包,SpringBoot项目基本都是jar包(内嵌tomcat运行)
-
war:普通web程序打包,需要部署在外部的tomcat服务器中运行
-
pom:父工程聚合工程,该模块不写依赖,仅进行依赖管理
如果父子工程配置了一个依赖,但是版本不同,此时会以子工程的依赖版本为主
版本锁定
在maven中,可以再父工程的pom文件中通过<depencyManagement>来统一管理依赖版本
父类pom通过该标签进行对对应的依赖的版本进行统一控制,但是并不会引入此依赖,在子工程中,对仍然需要引入对应依赖,只是不需要再声明版本号了
自定义属性\引用属性
在父工程的pom文件中的<properties>属性中进行统一版本控制
聚合
将多个模块组织成一个整体,同时进行项目的构建
-
聚合工程:一个不具有业务功能的空工程(有且仅有一个pom文件)
一般父工程即担任父工程的角色,也担任聚合工程的角色
只需要在聚合工程中一键打包即可
私服
仓库划分
特殊的远程仓库,他假设在局域网内的仓库服务,用来代理位于外部的中央仓库,用来解决团队内部的资源共享与资源同步问题
当搭建了私服之后,依赖的查找顺序就是先去本地仓库->私服->中央仓库
先将文件install到本地仓库,然后再通过deploy上传到私服中
识别当前的文件是否是快照版本,可以直接在pom文件中查看
<version>1.0-SNAPSHOT</version>
其中SNAPSHOT就是证明当前是快照版本,因为当前的程序还处在开发阶段,如果这个时候要将当前项目上传至私服,默认是上传至快照仓库中,如果要想上传到发行版本,那么之后版本号后不加SNAPSHOT或者将SNAPSHOT修改为SNAPSHOT即可
设置私服的访问用户名和和密码
仓库组地址:将多个仓库划分到一个仓库组中,下载文件直接在仓库组的地址中下载即可
详细步骤
指定无论是发行版本还是快照版本的,都允许下载