maven学习系列——(一)maven简介[通俗易懂]

这个系列学习maven,主要是看maven实战和其他网站上整理出自己一些知识点,方便自己以后查找和使用! 这个系列的我先根据自己在公司经常使用到的一些知识点进行整理,后期在做完善! 计划:要在2017 年之前学习和整理完成!

大家好,又见面了,我是全栈君。

这个系列学习maven,主要是看maven实战和其他网站上整理出自己一些知识点,方便自己以后查找和使用!
这个系列的我先根据自己在公司经常使用到的一些知识点进行整理,后期在做完善!
计划:要在2017 年之前学习和整理完成!

1:什么 Maven ?

- Maven意为“知识的积累”、“专家”或者“内行”的意思,maven是一个跨平台的项目管理工具,是     Apache的一个成功的开源项目。

-Maven是一个服务于基于java平台的项目构建、依赖管理和项目信息管理。 
-Maven现在的应用很广泛,不管是小型的项目还是大型的项目, 不管是传统的瀑布开发模式还是流行的敏捷开发模式,Maven都可以胜任。

2:什么是构建,maven优秀个构建工具?

-构建(bulid):对代码的进行编译、运行单元测试、生成文档、打包和部署等! 
-Maven是优秀的构建工具:Maven的设计之初的用途之一就是服务于构建,它是一个强大的构建工具, 能够帮助我们自动化的构建过程,从清理、编译、测试到生成报告,在到打包和部署,
例如执行 mvn clean install ,就会执行上面的过程,帮助我们处理那些繁琐的任务。

-Maven是跨平台的,不管是在window是上,还是在linux上或者Mac,都可以使用同样的命令。 
-Maven还有一个优点:可以帮助我们标准化构建过程。

3:Maven不仅仅是构建工具

-Maven 不仅是构建工具,还是一个依赖管理工具和项目信息管理工具。 
-Maven帮助我们管理第三方的开源类库,解决依赖的增多,版本不一致,版本冲突,依赖臃肿。 
-Maven提供了一个免费的中央仓库,在里面可以找到几乎所有开源的类库。 
-Maven对于项目来讲,对项目的结构,测试用例命名等内容有既定的规则,遵循了成熟的规则, 这种 约定优于配置(Convention Over Configuration),使得项目切换效率更高。

4:为什么需要maven进行构建?

-IDE 虽然在大大提高了开发效率,但是大多的构建工作都是需要手动完成,效率低,易出错。 并且每个开发人员在使用的时候配置不同,跨机器跨平台可用性低。

-Make 是最早的构建工具。是通过Makefile的脚本驱动,有自己的定义的一些语法和规则。 在Linux/UNIX系统,是很好的功能强大的高效的命令去完成构建的任务。但是很难进行跨平台。
还有就是语法的问题,有时候一个构建失败的原因或许是一个 难以发现的空格或者Tab使用错误。

-Ant 这是一个不得不说的构建工具,早期的tomcat 就是用Ant进行构建的。 Ant可以看做是Java版本的Make,实现跨平台,使用xml进行构建,但是Ant也是过程式的,
开发者需要显示指定每一个目标,以及完成该目标需要执行的任务。
Maven声明式的,项目的各个阶段和过程所需的工作都可以有插件完成。

-Ant没有依赖管理,所以使用的Ant的用户都需要手动的去管理依赖。

5:被误解的maven

Maven在发展到现在集成了很多的IDE,很多集成的支持性差,bug多不稳定,就会听到否定之声。

永远要记得:命令行执行的方式才是Maven最高效的方式。

Maven 是用来构建和管理项目的,清理、编译、测试、打包、发布等一些自定义的过程本身
就是复杂的事情,所以不要指望Maven简单。

6:Maven与极限编程

极限编程-敏捷开发,拥抱变化。

Maven 如何适应极限编程(XP):

 - 简单:提供一系列一致和简洁的接口,简化构建系统的复杂度。 
 - 交流和反馈:于版本结合后,所有人能执行最新的构建并得到反馈。 
 - 测试驱动开发:TDD强调测试先行,所有的产品都应该由测试用例覆盖。    而测试是Maven生命周期的最重要的组成部分,Maven集成了业界流行的测试框架,如JUnit和TestNG。

 - 十分钟构建:十分钟构建强调我们能够快速地从源码构建出最终的产品。 
 - 持续集成:CI强调项目以很短的周期(如15分钟)集成最新的代码。业界流行的CI服务器    如Hudson等和Maven可以很好的进行集成。

 - 富有信息的工作区:Maven可以快速的发布测试报告,可以配置,把信息推送到开发者。、 
 最后Maven能够帮助我们快速的发布项目。

少年,在路上!不卑不亢!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/121220.html原文链接:https://javaforall.net

(0)
上一篇 2022年2月25日 下午4:00
下一篇 2022年2月25日 下午5:00


相关推荐

  • windows shell命令大全_Windows shell

    windows shell命令大全_Windows shell
    http://www.d6pc.com/Html/?11152.html
     

    shell:Profile
      该命令可以打开用户的总目录。在常规安装的情况下,位置是c:/users/username。你也可以通过点击系统开始菜单上的用户名称访问。也可以通过系统环境变量%userprofile%访问。
    shell:Personal
      这个命令可以打开当前用户的文档文件夹。也可以通过点击开始菜单中的我的文档进行访问。
    shel

    2022年10月17日
    4
  • Eclipse安装Activiti教程

    Eclipse安装Activiti教程方式一:在线安装(坑,一般都安装不成功),可以直接看方式二1.点击eclipse上方工具栏的Help,选择InstallNewSoftware2、弹出如下窗口,然后填写插件名称和安装地址Name:ActivitiBPMN2.0designerLocation:http://activiti.org/designer/update/然后便是不停的next和finish了,组图如下点击Next点击Next点击Next点击Finish3、安

    2022年7月21日
    15
  • 安捷伦频谱仪n9010a_安捷伦频谱仪LAN设置

    安捷伦频谱仪n9010a_安捷伦频谱仪LAN设置频谱仪操作说明按键输入所测6个频点的中心频率。(注:与步骤8对应,若所测频点为4临频输出,此处频率=第一个频点中心频率+12MHz;若所测频点为6临频输出,此处频率=第一个频点中心频率+20MHz;)20.点击“AMPTD”对应的右侧按键,液晶屏右侧出现一列选项;21.点击“Attenuation”对应的右侧按键,左右旋转按键矩阵中的旋钮键,使得频谱两边的值载噪比最大,此值即为设备的载噪比六.…

    2022年8月11日
    8
  • 断开和服务器共享连接的方法「建议收藏」

    断开和服务器共享连接的方法「建议收藏」断开和服务器共享连接的方法

    2022年4月25日
    340
  • linux ipcs命令详解

    linux ipcs命令详解ipcs 命令 ipcs a 显示全部可以显示的信息 ipcs q 显示活动的消息队列 ipcs m 显示活动的共享内存信息 ipcs s 显示活动的信号量信息 ipcrm 命令 ipcrm mid 删除共享内存标识 ipcrm Mkey 删除由关键字创建的共享内存标识 ipcrm qid 删除消息队列标识 id 和其相关的消息队列和数据结构 ipcrm Qkey 删

    2026年3月18日
    1
  • 联合索引,回表,索引覆盖

    联合索引,回表,索引覆盖今天学习到了一点知识 来做一下笔记 建立联合索引时 为什么要关注列的顺序 mysql 建立联合索引有最左前置原则 在建立联合索引时 根据需求 where 子句中使用最频繁的一列放在最左边 如何理解联合索引中遵守的最左前置原则 mysql 默认的存储引擎是 InnoDB InnoDB 使用 B 树 B 树的数据项是复合的数据结构 是按照从左到右的顺序来建立搜索树的 比如当 AA BB CC 这样的数据来检索的时候 b 树会优先比较 AA 来确定下一步的所搜方向

    2026年3月26日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号