Maven 简单问题

1、什么是Maven?
Maven 单词的本意是:专家、内行。
Maven 是一款自动化构建工具,专注服务于Java 平台的项目构建和依赖管理。
2、使用Maven的好处以及原因?
在今天的JavaEE领域中,有大量的第三方框架和工具可以供我们使用。要使用这些jar包最简单的方法就是复制粘贴到WEB-INF 目录下的lib目录下。但是这会导致每次创建一个新的工程旧需要将jar包重复复制到lib目录下,从而造成工作区中存在大量重复的文件。而使用Maven 后每个jar包只在本地仓库中保存一份,需要jar包的工程只需要维护一个文本形式的jar包的引用--我们称为“坐标”。
可以极大的节约存储空间,让项目更轻巧,更避免了重复文件太多而造成的混乱。节约了大量的时间和精力。

3、使用哪三个向量在Maven的仓库中唯一的确定一个Maven工程?
groupId (组织域名)、artifactId(包名)、version(版本号)
4、Maven仓库有哪几种?
本地仓库、私有仓库、中央仓库。
5、请简述Maven几种依赖范围?
compile(默认就是这个范围)
[1]main目录下的Java代码可以访问这个范围的依赖
[2]test目录下的Java代码可以访问这个范围的依赖
[3]部署到Tomcat服务器上运行时要放在WEB-INF的lib目录下
例如:对Hello的依赖。主程序、测试程序和服务器运行时都需要用到。
test
[1]main目录下的Java代码不能访问这个范围的依赖
[2]test目录下的Java代码可以访问这个范围的依赖
[3]部署到Tomcat服务器上运行时不会放在WEB-INF的lib目录下
例如:对junit的依赖。仅仅是测试程序部分需要。
provided
[1]main目录下的Java代码可以访问这个范围的依赖
[2]test目录下的Java代码可以访问这个范围的依赖
[3]部署到Tomcat服务器上运行时不会放在WEB-INF的lib目录下
例如:servlet-api在服务器上运行时,Servlet容器会提供相关API,所以部署的时候不需要。

6、请简述镜像仓库的作用?
架设在各个大洲,为中央仓库分担流量。减轻中央仓库的压力,同时更快的响应用户请求。
7、请简述为什么Maven可以帮助我们自动化的构建项目?
Maven之所以能够实现自动化的构建,和它的设计是紧密相关的。我们对Maven的学习就围绕它的九个核心概念展开:POM 约定的目录结构 坐标 依赖管理 仓库管理 生命周期 插件和目标 继承 聚合
9、Maven中的坐标是什么?
几何中的坐标 :1、在一个平面中使用X,Y两个向量可以唯一确定平面中的一个点;2、在空间中使用X,Y,Z三个向量可以唯一确定空间中的一个点。
Maven 的坐标,使用如下三个向量在Maven的仓库中唯一的确定一个Maven工程。
[1]、groupld: 公司或组织的域名倒序+当前项目名称
[2]、artifactld: 当前项目的模块名称
[3]、version: 当前模块的版本
10、Maven几种仓库有什么区别吗?
中央仓库
其实我们使用的大多数第三方模块都是这个用法,例如,我们使用commons logging、log4j 这些第三方模块,就是第三方模块的开发者自己把编译好的jar包发布到Maven的中央仓库中
私有仓库
私有仓库是指公司内部如果不希望把源码和jar包放到公网上,那么可以搭建私有仓库。私有仓库总是在公司内部使用,他只需要在本地的 setting.xml 中配置好,使用方式和中央仓库没有任何区别。
本地仓库
本地仓库是指把本地开发的项目“发布”在本地,这样其他项目可以通过本地仓库引用它。但是我们不推荐把自己的模块安装到本地仓库,因为每次修改某个模块的源码,都需要重新安装,非常容易出现版本不一致值的情况。更好的方法是使用模块化编译,在编译的时候,告诉Maven 几个模块之间存在依赖关系,需要一块编译,Maven就会自动按依赖顺序编译这些模块。

posted @ 2020-11-09 20:59  月雨生  阅读(61)  评论(0)    收藏  举报