Maven面试

1、maven的优缺点(换个角度就是为什么需要maven?)

借助于maven可以将一个大的项目拆分成很多工程

借助于maven,可以将jar包仅仅保存在仓库中,有需要使用的工程,引用这个文件接口,并不需要真的把jar包复制过来

借助于maven可以以一种非常规范的方式来下载jar包

jar包间的依赖关系,maven已经帮你做好管理了

学习难度大

2、maven常见的依赖范围

compile: 编译、运行、打包项目+测试用例 都需要用到该依赖

test: 编译、运行测试用例

provided:编译和测试有效,不会打包进发布包中(典型的例子为servlet-api,一般的web工程运行时都使用容器的servlet-api)

runtime:只在运行测试用例和实际运行时有效

system:由于版权限制等原因,不是所有的jar包都存储在中央仓库中。scope取值为system时,表示依赖来自本地系统,需要配合标签systemPath(用于指定依赖路径)使用

3、maven的生命周期

Maven的生命周期就是为了对所有的构建过程进行抽象和统一。包括项目的清理,初始化,编译,测试,打包,集成测试,验证,部署和生成站点等构建步骤。

Maven提供了三套独立的生命周期:clean, defaultsite

clean 生命周期:清理项目,删除前一次构建在target文件夹下的各种jar包

  • pre-clean:执行一些清理前需要完成的工作
  • clean:清理上一次构建生成的文件
  • post-clean:执行一些清理后需要完成的工作

default生命周期:定义了真正构建项目中需要执行的所有步骤

  • validate:验证工程是否正确,所有需要的资源是否可用。
  • compile:编译项目的源代码。
  • test:使用合适的单元测试框架来测试已编译的源代码。这些测试不需要已打包和布署。
  • Package:把已编译的代码打包成可发布的格式,比如jar
  • integration-test:如有需要,将包处理和发布到一个能够进行集成测试的环境。
  • verify:运行所有检查,验证包是否有效且达到质量标准。
  • install:把包安装到maven本地仓库,可以被其他工程作为依赖来使用
  • Deploy:在集成或者发布环境下执行,将最终版本的包拷贝到远程的repository,使得其他的开发者或者工程可以共享。

4、maven常用的命令有哪些?

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值