zoukankan      html  css  js  c++  java
  • (一)Maven初步了解与认识

    Apache Maven是一个软件项目管理的综合工具。基于项目对象模型(POM)的概念,提供了帮助管理构建、文档、报告、依赖、发布等方法,Maven简化和标准化项目建设过程。处理编译,分配,文档,团队协作和其他任务的无缝连接。 Maven增加可重用性并负责建立相关的任务。

    maven的好处在于可以将项目过程规范化、自动化、高效化以及强大的可扩展性,利用maven自身及其插件还可以获得代码检查报告、单元测试覆盖率、实现持续集成等等。

    Maven的基本原理很简单,采用远程仓库和本地仓库以及一个核心的配置文件pom.xml,pom.xml中定义的jar文件从远程仓库下载到本地仓库,各个项目使用同一个本地仓库的jar,同一个版本的jar只需下载一次,而且避免每个应用都去拷贝jar。同时它采用了现在流行的插件体系架构,所maven的核心非常的小,只有几兆大小的文件,在执行maven任务时,才会自动下载需要的插件。

    具体的概念模型如下图:

    Maven官方把maven定义为一个项目管理工具,下面我们来看看maven给我们的项目管理做了哪些工作?

    项目标准化:

    Maven项目具有统一的项目结构,这个项目结构是参考业界的最佳实践而成,为后面使用统一的maven命令打下了基础,如测试mvn test、打包mvn package等,无需写一行脚本,就可以方便的实现众多功能。

    文档和报告:

    使用mvn site可以快速生成项目站点,apache很多开源项目站点都采用maven生成,会出现built by maven字样的图标。

    类库管理:

    类库管理是maven一个比较核心的功能,我们就需要将项目所依赖的类库加入到pom.xml中,那么maven会自动将依赖的类库下载到本地,并且下载的类库如果还依赖其他的类库,它也会自动下载过来,这样我们就不需要一个一个类库去下载了。

    发布管理:

    使用maven可以方便的进行项目发表管理。在项目开发到一定阶段,可以使用mvn package打包,它会自动先运行mvn test,跑所有的Test Case,只有全部通过才能正确打包。生成的war包(如果项目的packaging为war)在target目录下。这个 war包与使用ant脚本生成一样,但无需一行脚本,这也是maven对比ant的优势之一。使用mvn install将编译和打包好的文件发布到本地仓库中。使用mvn deploy在整合或者发布环境下执行,将最终版本的包拷贝到远的repository。

     

    本系列博文的目的在于突出maven的重要知识点,提高对maven的学习效率。如果大家掌握了这些知识点,对于使用maven是没问题的。希望对想要解的maven的朋友们有所帮助。如果大家想全面掌握maven,推荐大家去看许晓斌写得《maven实战》。

     

     

    可爱博主:AlanLee

     

    博客地址:http://www.cnblogs.com/AlanLee

     

    本文出自博客园,欢迎大家加入博客园。

     

  • 相关阅读:
    【笔记】二进制文件
    vs2015+64位win10系统ceres-solver编译
    python
    感受函数式编程-scala
    R语言diagram包画订单状态流图
    virtualbox下Centos6.5桥接模式上网配置方法
    配置对IIS上tabular的 HTTP 访问
    centos6.5下逻辑卷操作
    centos6.5下磁盘创建交换分区
    centos6.5下磁盘分区及挂载
  • 原文地址:https://www.cnblogs.com/AlanLee/p/6132976.html
Copyright © 2011-2022 走看看