Maven 初步

原创 2016年05月30日 11:42:16

1.概述
Maven是一个构建工具,服务与构建.使用Maven配置好项目后,输入简单的命令,如:mvn clean install,Maven会帮我们处理那些繁琐的任务.
Maven是跨平台的.
Maven最大化的消除了构建的重复.
Maven可以帮助我们标准化构建过程.所有的项目都是简单一致的,简化了学习成本.
总之,Maven作为一个构建工具,不仅帮我们自动化构建,还能抽象构建过程,提供构建任务实现.他跨平台,对外提供一致的操作接口,这一切足以使他成为优秀的,流行的构建工具.
但是Maven不仅是构建工具,他还是一个依赖管理工具和项目信息管理工具.他还提供了中央仓库,能帮我们自动下载构件.
使用Maven还能享受一个额外的好处,即Maven对于项目目录结构、测试用例命名方式等内容都有既定的规则,只要遵循了这些成熟的规则,用户在项目间切换的时候就免去了额外的学习成本,可以说是约定优于配置(Convention Over Configuration)。


2.对比

Maven,IDE,Mark,Ant

a.IDE:基本上所有的主流IDE都集成了Maven,我们可以在IDE中方便的运行Mave执行构建.IDE依赖大量的手工操作。编译、测试、代码生成等工作都是相互独立的,很难一键完成所有工作。手工劳动往往意味着低效,意味着容易出错很难在项目中统一所有的IDE配置,每个人都有自己的喜好。也正是由于这个原因,一个在机器A上可以成功运行的任务,到了机器B的IDE中可能就会失败。
所以,要合理使用IDE,不过多依赖.Maven是专家.

b.Make也许是最早的构建工具,具体不详,没用过,可以不了解.Make的强大之处在于它可以利用所有系统的本地命令,尤其是UNIX/Linux系统,丰富的功能、强大的命令能够帮助Make快速高效地完成任务。
但是,Make将自己和操作系统绑定在一起了。也就是说,使用Make,就不能实现(至少很难)跨平台的构建,这对于Java来说是非常不友好的。此外,Makefile的语法也成问题,很多人抱怨Make构建失败的原因往往是一个难以发现的空格或Tab使用错误。


c.Ant是意指“另一个整洁的工具”(Another Neat Tool),它最早用来构建著名的Tomcat,其作者James Duncan Davidson创作它的动机就是因为受不了Makefile的语法格式。我们可以将Ant看成是一个Java版本的Make,也正因为使用了Java,Ant是跨平台的。此外,Ant使用XML定义构建脚本,相对于Makefile来说,这也更加友好。
和Make一样,Ant也都是过程式的,开发者显式地指定每一个目标,以及完成该目标所需要执行的任务。针对每一个项目,开发者都需要重新编写这一过程,这里其实隐含着很大的重复。Maven是声明式的,项目构建过程和过程各个阶段所需的工作都由插件实现,并且大部分插件都是现成的,开发者只需要声明项目的基本元素,Maven就执行内置的、完整的构建过程。这在很大程度上消除了重复。
Ant是没有依赖管理的,所以很长一段时间Ant用户都不得不手工管理依赖,这是一个令人头疼的问题。幸运的是,Ant用户现在可以借助Ivy管理依赖。而对于Maven用户来说,依赖管理是理所当然的,Maven不仅内置了依赖管理,更有一个可能拥有全世界最多Java开源软件包的中央仓库,Maven用户无须进行任何配置就可以直接享用。

3.Maven与极限编程
极限编程(XP)是近些年在软件行业红得发紫的敏捷开发方法,它强调拥抱变化。
首先看一下Maven如何帮助XP团队实现一些核心价值:
?简单。Maven暴露了一组一致、简洁的操作接口,能帮助团队成员从原来的高度自定义的、复杂的构建系统中解脱出来,使用Maven现有的成熟的、稳定的组件也能简化构建系统的复杂度。
?交流与反馈。与版本控制系统结合后,所有人都能执行最新的构建并快速得到反馈。此外,自动生成的项目报告也能帮助成员了解项目的状态,促进团队的交流。


Maven几乎能够很好地支持任何软件开发方法。

例如,在传统的瀑布模型开发中,项目依次要经历需求开发、分析、设计、编码、测试和集成发布阶段。从设计和编码阶段开始,就可以使用Maven来建立项目的构建系统。在设计阶段,也完全可以针对设计开发测试用例,然后再编写代码来满足这些测试用例。然而,有了自动化构建系统,我们可以节省很多手动的测试时间。此外,尽早地使用构建系统集成团队的代码,对项目也是百利而无一害。最后,Maven还能帮助我们快速地发布项目。



注:

Maven两个最酷的特点是jar repositories和项目站点生成。Jar repositories是包含jar文件的本地或远程站点。当你在建立时间证明jar文件和POM的依赖关系时,Maven将自动将jar文件所需版本下载到本地存储库。这个特点可以让你更加轻松地构建项目。项目站点生成目标则是创建一个项目的专业网站,包括强调语法的源代码的链接、代码格式、javadoc、单体测试等等。


参考书籍(推荐大家购买实体书):《Maven实战》(国内首本Maven著作)(Maven的安装、配置及使用入门)

Maven实战  免积分 下载链接 :

Maven实战_.7z   http://download.csdn.net/detail/u013630349/9535150


版权声明: 举报

相关文章推荐

Maven 初步

一.前言     以前做过的项目中,没有真正的使用过Maven,只知道其名声很大,其作用是用来管理jar 包的。最近一段时间在项目过程中使用Maven,用Maven构建的web项目,其项目结构只停留在...

maven 初步

经过几个月的努力,目前产品的设计研发工作逐步进入了正轨,作为产品经理,不仅要关注产品的研发,而且要关注技术,为了提高开发团队的技术水平,昨天制定了今年下半年的培训计划,准备从SVN-----ANT--...
  • joeho
  • joeho
  • 2012-06-27 14:46
  • 396

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

maven初步

Maven是基于项目对象模型(POM)概念,可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。 1.maven的安装       1.在安装maven之前需要安装好JDK1.5以上...

maven初步

Maven是一个采用纯Java编写的开 源项目管理工具。Maven采用了一种被称之为project object model (POM)概念来管理项目,所有的项目配置信息都被定义在一个叫做POM.xm...

maven初步使用

Maven功能: 1),项目构建工具;自动打包和部署;---避免项目构建的重复; 2),Jar插件库; 3),取代ant; Apache 项目;  | 版本:3.0.5; http://...

Maven初步了解

什么是maven?   Maven是一个用于项目构建的工具,通过它便捷的管理项目的生命周期。即项目的jar包依赖,开发,测试,发布打包。   下面我自己总结一下它的几个特点,看了这些特点,也许对m...

Maven初步学习

很早就听说过Maven这个名词,当时就知道是一个项目管理工具,用来管理Jar包,认识的比较肤浅。这次看了下视频,简单学习了下,对其的理解更加深刻了。先来看一下简单的Maven基础知识。        ...

maven初步学习

1、什么是maven         项目管理和构建工具         它包含了:         一个项目对象...

Maven SSH初步整合

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-insta...

Maven初步入门(二)

1. 什么是POM Maven项目的核心是pom.xml, POM(Project Object Model)定义了项目的基本信息,用于描述项目如何构建、声明项目依赖等等。 首先我们使用E...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)