meven面试题

meven面试题

1. Maven是什么?

Maven是⼀个项⽬构建⼯具,服务于项⽬构建,包括创建、编译、测试、发布等等,除了Maven,还有
⼀个项⽬构建⼯具:Gradle

2.maven有哪些优点?

(1)依赖管理,节省空间
(2)一键构建 编码 编译 测试(junit) 运行 打包 部署
(3)应用于大型项目 可以提高开发效率

3.Maven的仓库

所有的项⽬都有坐标,唯⼀的标识,这个标识同样也是maven仓库的存储路径。
对于Maven来说,仓库只分为两类:本地仓库 和 远程仓库。
项⽬依赖,先查找本地仓库,如果没有,查找远程仓库,下载到本地仓库,然后项⽬依赖使⽤。

1.本地仓库:
默认保存到⽤户⽬录的.m2中
也可以通过修改配置⽂件改到其他地⽅
2.远程仓库:
中央仓库:maven中央仓库、阿⾥云镜像库(默认只会从这⾥下载)
私服:局域⽹使⽤,安全、速度快、可以上传⾃⼰的私有东⻄
3.第三⽅的公共库:Jboss、java.net(⽹络相关的类库)
如何配置私服和第三⽅的公共库
全局配置:直接修改maven的配置⽂件
局部配置:修改项⽬的配置⽂件即可

4. Maven的常⽤命令

Mvn clean : 清理
Mvn compile:编译
Mvn package:打包
mvn test : 测试,⾃动运⾏所有的测试⽤例
mvn install : 安装,将项⽬打的包安装到本地仓库,其他项⽬就可以依赖了
Mvn jetty:run : 运⾏jetty插件

5. 什么是项目构建

项目构建是一个项目从编写源代码到编译,测试,运行,打包,部署,运行的过程。

6.聚合和继承

聚合:⼀键式构建所有项⽬
继承:配置⽂件重复的问题:项⽬依赖、插件

7.什么是依赖管理

依赖管理就是将项目所依赖的jar包按照一定规则进行规范化管理。

8.Maven 的主要功能主要分为 5 点:

依赖管理系统
多模块构建
一致的项目结构
一致的构建模型和插件机制

9.什么是 Maven 插件?

Maven 生命周期的每一个阶段的具体实现都是由 Maven 插件实现的。插件通常提供了一个目标的集合,并且可以使用下面的语法执行:mvn [plugin-name]:[goal-name]

Maven 提供了下面两种类型的插件:

Build plugins :在构建时执行,并在 pom.xml 的 元素中配置。
Reporting plugins :在网站生成过程中执行,并在 pom.xml 的元素中配置。

10.坐标的组成

Gruop Id
Ar0tifact Id
Version

11. Maven的⽣命周期

可能会想起: servlet的⽣命周期:实例化、初始化、服务、销毁
mvn clean package
三套独⽴的⽣命周期,每个⽣命周期对应不同的阶段phase
Clean Lifecycle 在进⾏真正的构建之前进⾏⼀些清理⼯作。
Default Lifecycle 构建的核⼼部分,编译,测试,打包,部署等等。
Site Lifecycle ⽣成项⽬报告,站点,发布站点。
每套⽣命周期都由⼀组阶段(Phase)组成,我们平时在命令⾏输⼊的命令总会对应于⼀个特定的阶段.

12.常见的Maven私服的仓库类型。

hosted repository(宿主仓库), proxy repository(代理仓库), group repository(仓库组)

13.maven缺点如下:

maven是一个庞大的构建系统,学习难度大
maven采用约定优于配置的策略(convention over configuration),虽然上手容易,但是一旦出了问题,难于调试。
当依赖很多时,m2eclipse 老是搞得Eclipse很卡。
中国的网络环境差,很多repository无法访问,比如google code, jboss 仓库无法访问等。

14. 什么是私服?

私服是一种特殊的远程仓库,它是架设在局域网内的仓库服务,私服代理广域网上的远程仓库,供局域网内的 Maven 用户使用。当 Maven 需要下载构件的时候,它从私服请求,如果私服上不存在该构件,则从外部的远程仓库下载,缓存在私服上之后,再为 Maven 的下载请求提供服务。我们还可以把一些无法从外部仓库下载到的构件上传到私服上。

15.Maven 私服的 5 个特性:

1、节省自己的外网带宽:减少重复请求造成的外网带宽消耗。
2、加速 Maven 构件:如果项目配置了很多外部远程仓库的时候,构建速度就会大大降低。
3、部署第三方构件:有些构件无法从外部仓库获得的时候,我们可以把这些构件部署到内部仓库(私服)中,供内部 Maven 项目使用。
4、提高稳定性,增强控制:Internet 不稳定的时候,Maven 构建也会变的不稳定,一些私服软件还提供了其他的功能。
5、降低中央仓库的负荷:Maven 中央仓库被请求的数量是巨大的,配置私服也可以大大降低中央仓库的压力。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值