Maven面试题及答案(18题)

一、Maven有哪些优点和缺点
优点如下:
1.简化了项目依赖管理:
2.易于上手,对于新手可能一个"mvn clean package"命令就可能满足他的工作
3.便于与持续集成工具(jenkins)整合
4.便于项目升级,无论是项目本身升级还是项目使用的依赖升级。
5.有助于多模块项目的开发,一个模块开发好后,发布到仓库,依赖该模块时可以直接从仓库更新,而不用自己去编译。
6.maven有很多插件,便于功能扩展,比如生产站点,自动发布版本等

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

二、Maven坐标
一般maven使用[groupID,artifactId,version,packaging]来表示一个项目的某个版本,有时还会使用classifier来表示项目的附属构建,常见的附属构建有javadoc和sources包。

三、Maven常见的依赖范围有哪些?
1)compile:编译依赖,默认的依赖方式,在编译(编译项目和编译测试用例),运行测试用例,运行(项目实际运行)三个阶段都有效,典型地有spring-core等jar。
2)test:测试依赖,只在编译测试用例和运行测试用例有效,典型地有JUnit。
3)provided:对于编译和测试有效,不会打包进发布包中,典型的例子为servlet-api,一般的web工程运行时都使用容器的servlet-api。
4)runtime:只在运行测试用例和实际运行时有效,典型地是jdbc驱动jar包。
5)system: 不从maven仓库获取该jar,而是通过systemPath指定该jar的路径。
6)import: 用于一个dependencyManagement对另一个dependencyManagement的继承。

四、Maven的生命周期
maven有三套生命周期,分别为:
1、clean 周期:主要用于清理上一次构建产生的文件,可以理解为删除target目录
2、默认周期,
主要阶段包含:
1)process-resources 默认处理src/test/resources/下的文件,将其输出到测试的classpath目录中,
2)compile 编译src/main/java下的java文件,产生对应的class,
3)process-test-resources 默认处理src/test/resources/下的文件,将其输出到测试的classpath目录中,
4)test-compile 编译src/test/java下的ja

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值