简介:这篇帖子主要讲解Maven工程中的继承与聚合的相关知识点,用简洁的语言和小编自己的理解,深入浅出的说明Maven工程的继承与聚合。
目录
1、继承
图 1-1 继承的概念 |
---|
在Maven工程中的继承关系中,与Java语言的继承是相似的,子工程继承父工程后,就可以调用父工程的资源。 |
1.1 继承关系的实现
图 1.1-1 继承关系实现 |
---|
1.2 版本锁定
图 1.2-1 版本锁定详解 |
---|
图中说明了,在父工程pom.xml文件中通过 <dependencyManagement> 标签进行依赖管理,在规定了相应依赖的版本后,子项目只需要pom.xml文件引入相应依赖坐标无需添加版本信息。 |
图 1.2-2 依赖引入 |
---|
在上图中,父工程引入依赖在 <dependencyManagement> 标签中,子工程只需要在 <dependency> 标签中添加相对应的标签,无需指定版本;如果之后需要变更某个引入依赖的版本号,只需要修改父工程对应依赖版本号就好。 |
图 1.2-3 自定义属性/引用属性 |
---|
在上图中,将父工程的 <dependencyManagement> 标签中的所有的 <version> 版本号集中定义在<properties> 标签中,这样在日后的维护时只需要在 <properties> 标签中修改就好。 |
2、聚合
- 聚合:将多个模块组织成一个整体,同时进行项目的构建。
- 聚合工程:一个不具有业务功能的“空”工程(只有一个pom.xml文件)
- 作用:快速构建项目(无需根据依赖关系手动构建,直接在聚合工程上构建即可)
2.1 聚合方法
- maven中可以通过 <modules> 设置当前聚合工程所包含的子模块名称
- 聚合工程中所包含的模块,在构建时,会自动根据模块间的依赖关系设置构建顺序,与聚合工程中模块的配置书写位置无关
图 2.1-1 聚合父工程 |
---|
上图中,只需要在箭头指定处添加模块地址和模块名,就可以将对应的模块添加到父工程中。 |
3、总结
3.1 作用与联系
图 3-1 继承与聚合总结 |
---|
上图中,说明了继承与聚合之间的联系、各自的作用。 |
4、私服
4.1 私服介绍
私服是一种很特殊的远程仓库,它是架设在局域网内的仓库服务,用来代理位于外部的中央仓库,用于解决团队内部的资源共享一资源同步问题。
依赖查找顺序:
- 本地仓库
- 私服
- 中央仓库
4.2 资源上传与下载
图 4.2-1 资源上传与下载 |
---|
资源上传:在IDEA中配置url地址,在Maven本地仓库配置私服的用户名/密码,执行deploy命令。 资源下载:在Maven本地仓库配置私服的url地址。 |
图 4.2-2 私服配置说明 |
---|
## 私服配置说明 访问私服:http://192.168.150.101:8081 访问密码:admin/admin 使用私服,需要在maven的settings.xml配置文件中,做如下配置: 1. 需要在 **servers** 标签中,配置访问私服的个人凭证(访问的用户名和密码) ```xml
2. 在 **mirrors** 中只配置我们自己私服的连接地址(如果之前配置过阿里云,需要直接替换掉) ```xml
3. 需要在 **profiles** 中,增加如下配置,来指定snapshot快照版本的依赖,依然允许使用 ```xml
4. 如果需要上传自己的项目到私服上,需要在项目的pom.xml文件中,增加如下配置,来配置项目发布的地址(也就是私服的地址) ```xml
5. 发布项目,直接运行 deploy 生命周期即可 (发布时,建议跳过单元测试) ## 启动本地私服 1. 解压: apache-maven-nexus.zip 2. 进入目录: apache-maven-nexus\nexus-3.39.0-01\bin 3. 启动服务:双击 start.bat |
上图是私服的连接配置相关信息,只需要按照所展示的步骤配置就可以。 注意:上图中的私服账号、密码和私服地址是根据开发者所在公司的信息做出修改 |