专题篇
一、Maven 有哪些优点和缺点
优点如下:
1.简化了项目依赖管理:
2.易于上手,对于新手可能一个"mvn clean package"命令就可能满足他的工作
3.便于与持续集成工具(jenkins)整合
4.便于项目升级,无论是项目本身升级还是项目使用的依赖升级。
5.有助于多模块项目的开发,一个模块开发好后,发布到仓库,依赖该模块时可以直
接从仓库更新,而不用自己去编译。
6.maven 有很多插件,便于功能扩展,比如生产站点,自动发布版本等
缺点如下:
1.maven 是一个庞大的构建系统,学习难度大
2.maven 采用约定优于配置的策略(convention over conguration),虽然上手
容易,但是一旦出了问题,难于调试。
3.当依赖很多时,m2eclipse 老是搞得 Eclipse 很卡。
4.中国的网络环境差,很多 repository 无法访问,比如 google code, jboss 仓库
无法访问等。
二、Maven 坐标
一般 maven 使用[groupID,artifactId,version,packaging]来表示一个项目的某个
版本,有时还会使用 classier 来表示项目的附属构建,常见的附属构建有 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/下的文件,将其输出到测试的
评论0
最新资源