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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python爬虫scrapy框架_nodejs爬虫框架

    python爬虫scrapy框架_nodejs爬虫框架叮铃铃!叮铃铃!老师:“小明你的梦想是什么?”,沉思了一下小明:“额额 我想有车有房,自己当老板,媳妇貌美如花,还有一个当官的兄弟”老师:“北宋有一个人和你一样···”;哈喽!大家好!请叫我布莱恩·奥复托·杰森张;爬虫部分!一提到爬虫,好多人先想到python没错就是那个py交易的那个,这货所为是什么都能干上九天揽月下五洋捉鳖无处不出现它的身影鄙人对它也是不得不折

    2022年9月17日
    0
  • RabbitMQ 原理图和名词理解(二)[通俗易懂]

    RabbitMQ 原理图和名词理解(二)[通俗易懂]一、RabbitMQ简介RabbitMQ是基于AMQP实现的一个开源消息组件,主要用于在分布式系统中存储转发消息,由因高性能、高可用以及高扩展而出名的Erlang写成。其中,AMQP(AdvancedMessageQueuingProtocol,即高级消息队列协议),是一个异步消息传递所使用的应用层协议规范,为面向消息的中间件设计。RabbiMQ是EDA事件驱动架构的核心,也是CQR…

    2022年6月22日
    20
  • 2k21本世代和次世代生涯一样吗_nba2k21次世代价格

    2k21本世代和次世代生涯一样吗_nba2k21次世代价格原题链接对于在中国大学MOOC(http://www.icourse163.org/ )学习“数据结构”课程的学生,想要获得一张合格证书,总评成绩必须达到 60 分及以上,并且有另加福利:总评分在 [G, 100] 区间内者,可以得到 50 元 PAT 代金券;在 [60, G) 区间内者,可以得到 20 元PAT代金券。全国考点通用,一年有效。同时任课老师还会把总评成绩前 K 名的学生列入课程“名人堂”。本题就请你编写程序,帮助老师列出名人堂的学生,并统计一共发出了面值多少元的 PAT 代金券。输入格

    2022年8月8日
    4
  • xml xsi_schema和scheme关系

    xml xsi_schema和scheme关系摘要:相信很多人和我一样,在编写Spring或者Maven或者其他需要用到XML文档的程序时,通常都是将这些XML文档头拷贝过来,并没有理解其中元素(比如xmlns,xmlns:xsi,xsi:s

    2022年8月1日
    0
  • ajax的几个面试题「建议收藏」

    ajax的几个面试题「建议收藏」一、什么是AJAX(请谈一下你对Ajax的认识)AJAX是“AsynchronousJavaScriptandXML”的缩写。他是指一种创建交互式网页应用的网页开发技术。Ajax包含下列技术:基于web标准(standards-basedpresentation)XHTML+CSS的表示;使用DOM(DocumentObjectModel)进行动态显示及交互;使用XML和XSLT…

    2022年8月27日
    3
  • RewriteCond 详解

    RewriteCond 详解RewriteCond重写规则执行条件语法:RewriteCondTestStringCondPattern生效域:serverconfig,virtualhost,directory,.htaccess特别的上面的TestString,可提供反向引用.引用模式为:%N其中N为(0<=N<=9),引用当前若干Rew…

    2022年6月14日
    27

发表回复

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

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