Maven随笔
1. Maven的定义
Maven:专家,内行。Maven是一款自动化构建工具,专注服务于Java平台的项目构建和依赖管理。约定的目录结构使得Maven可以自动化构建。
2. 使用Maven的好处以及原因
使用Maven的原因,由于目前的技术在开发中存在的问题:
(1)一个项目就是一个工程,一个项目就需要一个jar包
(2)项目汇总需要的jar包必须手动“复制”、“粘贴”到WEB-INF/lib目录下
(3)jar包需要到别人替我们准备好,或者到官网上去下载(获取第三方jar包)
(4)一个jar包需要的其他 jar 包需要自己手动加入到项目(jar包之间的依赖关系)
使用Maven的好处:
(1)添加第三方包
使用Maven后每个jar包只在本地仓库保存一份,需要jar包的工程只需要维护一个文本形式的 jar 包的引用——成为“仓库”。
优点:极大节约储存空间;项目更加轻巧;避免了重复文件太多而造成的混乱。
(2)jar包之间的依赖关系
引入Maven后,Maven就可以替我们将当前jar包所依赖的其他所有jar包全部导入进来,无需人工参与,节约了大量的时间和精力。
(3)处理jar包之间的冲突
使用Maven可以自动处理jar包之间的冲突问题,因为Maven内置了两条依赖原则:最短路径者优先和先声明者优先
(4)获取第三方包
使用Maven可以统一规范 jar 包管理体系,只需要在项目中以坐标的方式依赖一个 jar 包,Maven就可以自动从中央仓库进行下载,并同时下载这个jar包所依赖的其他jar包
(5)将项目拆分成多个工模块
Maven的依赖管理机制可以在工程拆分后进行互相调用和访问
(6)实现项目的分布式部署
分布式部署:随着项目的增加,每个模块都需要运行在独立的服务器上。使用Maven可以实现项目的分布式部署
3. 使用哪三个向量在Maven的仓库中唯一的确定一个Maven工程
在Maven中使用如下三个向量可以在Maven的仓库中唯一的确定一个Maven工程:
(1)gruodId:公司或组织的域名倒序+当前项目名称
(2)artifactid:当前项目的模块名称
(3)version:当前模块的版本
4. Maven仓库有哪几种?
Maven仓库的分类:
(1)本地仓库
(2)远程仓库:【1】私服(局域网范围内)【2】中央仓库【3】中央仓库的镜像
5. Maven几种依赖范围
(1)compile 范围依赖(默认的是这个范围)
【1】main目录下的Java代码可以反问这个范围的依赖
【2】test目录下的Java代码可以访问这个防伪的依赖
【3】部署到Tomcat服务器上运行时要放在WEB-INF的 lib 目录下
对主程序是否有效:有效
对测试是否有效:有效
是否参与打包:参与
(2)test范围依赖
【1】main目录下的Java代码不能访问这个范围的依赖
【2】test目录下的Java代码可以访问这个范围的依赖
【3】部署到Tomcat服务器上运行时不会放在WEB-INF的 lib 目录下
主程序是否有效:无效
对测试是否有效:有效
是否参与打包:不参与
典型例子:junit
(3)provide 范围依赖
【1】main目录下的Java代码可以访问这个范围的依赖
【2】test目录下的Java代码可以访问这个范围的依赖
【3】部署到Tomcat服务器上运行时不会放在WEB-INF的 lib 目录下
6、请简述镜像仓库的作用
架设在各个大洲,为中央仓库分担流量,减轻仓库压力,同时加快用户响应请求,提升用户访问速度
7、请简述为什么Maven可以帮助我们自动化的构建项目?
约定的目录结构使得Maven使得Maven可以自动化构建。
8、Maven中的坐标是什么?
g(groupid), a(artifactid), v(version)
9、Maven几种仓库区别
(1)
远程仓库又分为私服,中央仓库,中央仓库镜像
远程仓库分为私服,中央仓库和中央仓库镜像
私服架设在当前局域网下,为当前局域网范围内的所有Maven工程服务
中央仓库架设在Internet上,为全世界的Maven工程服务

浙公网安备 33010602011771号