maven 总结

maven 总结
1.简介
2.maven 的安装配置
3.演示入门
4.项目构建
5.依赖管理
6.分模块开发
7.私服(nexus)

一、简介:
1,是什么?

是Apache下的一个开源项目,是纯java开发的,并且只是用来管理java项目的

2,好处:

1.节省本地磁盘空间、对jar包做了统一管理、依赖管理
2.项目一键构建:编码、编译、测试(Junit)、运行、打包、部署。
3.可以跨平台
4.应用于大型项目,可以提高开发效率

二、maven 的安装配置
1,下载、安装:

  1. 下载地址:http://maven.apache.org/download.cgi
  2. 目录结构:
    在这里插入图片描述
    在这里插入图片描述

2,maven 环境变量配置
1。最终要运行的是 maven 软件中的 bin 目录的 mvn 命令,所以要配置 maven 的环境变量,要配置 JDK,maven3.3.9这个版本所需的JDK必须要1.7以上
2。在系统变量添加,环境变量的名称:MAVEN_HOME,变量值:就是maven软甲解压的目录F:\class32\apache-maven-3.3.9
在这里插入图片描述
2.2.3:把MAVEN_HOME 添加到 path 里
在这里插入图片描述
2.2.4:验证是否配置成功:打开 DOS 窗口:mvn -v

3,maven 仓库
2.3.1:本地仓库,自己维护,本地仓库的配置只需修改settings.xml文件就可以
2.3.2:远程仓库(私服),公司维护
2.3.3:中央仓库,maven 团队维护,两个亿数量的 jar 包
2.3.4:三种仓库的关系
在这里插入图片描述
三、入门演示
3.1:maven的目录结构
在这里插入图片描述
3.2:maven常用命令

clean:清理编译的文件
compile:编译主目录的文件
test:编译并运行 test 目录的代码
package:打包
install:把项目发布到本地仓库
deploy:发布到私服
Tomcat:run 一键启动

3.3:maven 的生命周期

Clean 生命周期:clean
Default 生命周期:compile、test、package、install、deploy
Site 生命周期:site

3.4:命令与生命周期的关系

不同生命周期的命令可以同时执行:Mvn clean package

四、项目构建:
4.1处理编译版本
在pom.xml 中添加如下代码:
在这里插入图片描述
五、依赖管理:
5.1:添加依赖

添加完一个依赖之后,会引入了很多相关联的 jar 包,这种情况叫做“依赖传递”

5.2:依赖版本冲突问题
不同的 jar 包,所自动依赖引入的其他 jar 包版本冲突时的使用原则
1、第一声明优先原则
在这里插入图片描述
2、路径近者优先原则(自己在pom文件中有单独引)
在这里插入图片描述
3、排除原则
在这里插入图片描述
4、版本锁定原则(公司中使用的)
在这里插入图片描述
5.3:依赖范围
5.3.1:Compile:编译(compile)时需要,测试时需要,运行时需要,打包时需要
5.3.2:Provided:编译(compile)时需要,测试(test)时需要,运行时不需要,打包时不需要
5.3.3:Runtime:编译时不需要,测试时需要,运行时需要,打包时需要
5.3.4:Test:编译时不需要,测试时需要,运行时不需要,打包时不需要
完整的pom文件内容:
在这里插入图片描述
六、分模块开发:
6.1:依赖范围对依赖传递造成的影响,父工程来管理(聚合)
在这里插入图片描述
6.2:模块结构
父工程(pom):

大部分/公共的依赖都在父工程中添加,只有某个子模块中使用的,可以在该子模块中单独引入依赖

公共层(common)
业务/启动层(service)
其他功能模块

七、私服(nexus)
7.1:安装、启动、登录
7.1.1:安装 nexus
在这里插入图片描述
7.1.2:启动 nexus 服务
在这里插入图片描述
启动失败的解决方法
在这里插入图片描述
7.1.3:登录 nexus
用户名/密码 admin/admin123

7.2:仓库类型

Virtual   虚拟仓库 
Proxy  代理仓库
Hosted  宿主仓库  本地仓库
Group 组

7.3:上传 jar 包 到私服
7.3.1:修改 settings.xml 文件
修改项目指定maven的settings.xml 配置文件,配置连接私服的用户和密码,此用户名好密码用于私服校验,因为私服需要知道项目中配置的是否和私服中的一致
在这里插入图片描述
7.3.2:配置项目中的 pom.xml
配置私服查看的地址,本公司的 jar 包会上传到私服的宿主查看,根据工程的版本号决定上传到哪个宿主仓库,如果版本为 release 则会上传到私服的 release 仓库,如果版本为 snaphost 则上传到私服的 snaphost 仓库
在这里插入图片描述
7.3.3:执行 deploy 命令发布到私服

7.4:从私服上下载 jar 包
7.4.1:修改 settings.xml
在这里插入图片描述
在这里插入图片描述
7.4.2:删除本地仓库中的 dao 层jar包
7.4.3:更新maven依赖
出现以下信息说明已经成功
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值