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


相关推荐

  • 普罗米修斯java_springboot集成普罗米修斯

    普罗米修斯java_springboot集成普罗米修斯点击上方“方志朋”,选择“设为星标”回复”666“获取新整理的面试文章Prometheus是一套开源的系统监控报警框架。它由工作在SoundCloud的员工创建,并在2015年正式发布的开源项目。2016年,Prometheus正式加入CloudNativeComputingFoundation,非常的受欢迎。简介Prometheus具有以下特点:一个多维数据模型,其中…

    2022年7月19日
    23
  • 【我的Android进阶之旅】解决重写onTouch事件提示的警告:onTouch should call View#performClick when a click is detected

    【我的Android进阶之旅】解决重写onTouch事件提示的警告:onTouch should call View#performClick when a click is detected一、问题描述当你对一个控件(例如ImageView)使用setOnTouchListener()或者是对你的自定义控件重写onTouchEvent方法时会出现这个警告,警告内容全文如下:MyImageOnTouchListener#onTouchshouldcallView#performClickwhenaclickisdetectedless…(Ctrl+F…

    2022年6月17日
    31
  • 软件看门狗与硬件看门狗_电脑看门狗是什么意思

    软件看门狗与硬件看门狗_电脑看门狗是什么意思软件看门狗和硬件看门狗的作用和区别工业级无线路由器,作为无线组网中非常重要的设备,洞察客户应用场景,只要是关乎无线组网可靠性的需求,即使是最细微的技术应用都要做到极致,比如看门狗。为什么工业级无线路由器这么重视软硬件看门狗,今天我们就来看看软硬件看门狗区别。看门狗,又叫watchdogtimer,是一个定时器电路,一般有一个输入,叫喂狗,一个输出到MCU的RST端,MCU正常工作的时候,每隔…

    2025年8月7日
    3
  • 好用的在线 java 编译网站,编辑器(亲测)

    好用的在线 java 编译网站,编辑器(亲测)在网上搜了不少在线编译网站,国内外都有。对于java来说,我感觉好用的是这个: 1. https://www.jdoodle.com/online-java-compiler这个支持Java10,并且能够保存代码,还支持导入外部库。但有时候国内登不上,真不明白这个学习网站也封。 2. https://www.tutorialspoint.com/compile_java…

    2022年7月8日
    18
  • 解决启动IIS发生意外错误 0x8ffe2740「建议收藏」

    解决启动IIS发生意外错误 0x8ffe2740「建议收藏」有时候也不知怎么搞的,你会突然间发现你的IIS启动不了了,提示“发生意外错误0x8ffe2740”这样的东东主要原因是80端口被程序占用了,请确认一下有没有程序占用了80端口,不知道怎么确认?可以用TcpView查看占用的端口然后终止这人端口其实大多情况下都是因为Xunlei或者数据库(SqlServer,Oracle)占用了,所以先把X…

    2022年7月26日
    8
  • 变异系数(测算数据离散程度相对指标)

    变异系数(测算数据离散程度相对指标)变异系数/差异系数(coefficientofvariation):是一种相对差异量数(不带测量单位),因而适用于测量单位不同或测量单位相同但集中量数相差较大的数据变异情况的比较M:平均数(下方r)S(StandardDeviation):标准差,用σ表示σ反映了一个数据集的离散程度,但其运算结果与测量单位有关联,如需要比较两组不同测量单位的σ,需要使用CV…

    2022年5月6日
    155

发表回复

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

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