Maven(总结)深入浅谈。

来源:互联网 发布:sublime text 3调试js 编辑:程序博客网 时间:2024/06/08 23:57

在工作中经常用到maven对项目进行构建,版本控制,jar包依赖等操作,但是真要说出maven的到底是什么还真是有困难,所以小编在此对maven进行一下总结。

首先Maven的干什么的?

 maven主要有三种功能:依赖管理,项目构建,版本控制。


那么下面我们就以依赖管理,项目构建,版本控制 这三点去详细介绍。


一、依赖管理:
        在用eclipse创建maven项目后,项目中会有一个pom.xml文件,这个文件主要用来管理项目所需的依赖包。通过maven的pom.xml文件,我们可以直接在http://mvnrepository.com/ 中所搜项目所需的jar包,这样就省去了我们去各种官网找各种版本的包了。
二、项目构建:
       maven的核心jar包非常小,所以很多功能都是采用插件来实现的。比如clean,install等。同时maven在构建阶段定义了三个生命周期分别是:clean    :清理;default    :构建;site:建站发布。
       比较常用的主要是clean和default,其中default是生命中期中最核心的部分。他包含了构建项目中真正需要执行的步骤:

  1. validate
  2. initialize
  3. generate-sources
  4. process-sources
  5. generate-resources
  6. process-resources    :复制和处理资源文件到target目录,准备打包;
  7. compile    :编译项目的源代码;
  8. process-classes
  9. generate-test-sources
  10. process-test-sources
  11. generate-test-resources
  12. process-test-resources
  13. test-compile    :编译测试源代码;
  14. process-test-classes
  15. test    :运行测试代码;
  16. prepare-package
  17. package    :打包成jar或者war或者其他格式的分发包;
  18. pre-integration-test
  19. integration-test
  20. post-integration-test
  21. verify
  22. install    :将打好的包安装到本地仓库,供其他项目使用;
  23. deploy    :将打好的包安装到远程仓库,供其他项目使用;
通过以上步骤可以看出,maven在构建项目阶段完成了非常多且复杂的过程。为了方便操作,可以多个命令组合使用如:mvn clean install 在使用eclipse时,在run as -> maven clean ,maven install等。
三、版本控制:
   我们在开发中经常会发现某个jar包是这样的结构:1.2.3-beat-4.jar。为何要定义的这么繁琐呢,有什么实际意义?

“ 1 ” :  表示该版本的第一个重大版本

“ 2 ” :  表示这是基于重大版本的第二个次要版本

“ 3 ” :  表示该次要版本的第三个增量

" beat-4" : 表示该增量的一个里程碑

用一个图来描述:

< 主版本 >  ------   < 次版本 > ------ < 增量版本 > ------ < 里程碑版本 >

s

主版本:表示了项目的重大架构变更  struts1 --  struts2

次版本:表示较大范围的功能增加和变化  Nexus1.5 ----   Nexus1.4

增量版本:一般表示重大Bug修复  

里程碑版本:指某一个版本的里程碑   *.*-alpha-1  *.*-beat-1

看起来有点麻烦啊, 但是在一般来说,我们只会声明主版本和次版本,增量版本和里程碑版本就不一定了。

maven中约定的版本次序:

对于主版本、次版本、增量版本来说他们的比较是基于数字的,因此:1.5>1.4>1.3>1.2.11>1.2.8

对于里程碑版本来说,比较是基于字符串的,因此:1.5>1.4>1.3>1.2.3>1.2.11


以上来源于多篇博客,再此感谢各位原创作者。
阅读全文
1 0
原创粉丝点击