maven的优势

来源:互联网 发布:xp中windows设置在哪 编辑:程序博客网 时间:2024/05/22 03:29

   首先,为什么有maven?构建是程序员每天要做的工作,而且相当长的时间花在了这上面,而maven使这系列的工作完全自动化。 我们一直在寻找避免重复的方法,设计的重复,文档的重复,编码的重复,构建的重复等,maven是跨平台的,最大的消除了构建的重复。


maven的其他优势:

        1. maven不仅是构建工具,它还是依赖管理工具和项目管理工具,提供了中央仓库,能够帮我们自动下载构件。

        2.为了解决的依赖的增多,版本不一致,版本冲突,依赖臃肿等问题,它通过一个坐标系统来精确地定位每一个构件(artifact)。

        3.还能帮助我们分散在各个角落的项目信息,包括项目描述,开发者列表,版本控制系统,许可证,缺陷管理系统地址。

        4.maven还为全世界的java开发者提供了一个免费的中央仓库,在其中几乎可以找到任何的流行开源软件。通过衍生工具(Nexus),我们还能对其进行快速搜索

        5.maven对于目录结构有要求,约定优于配置,用户在项目间切换就省去了学习成本。

       


构建工具比较:

1.IDE:依赖大量手工操作,每个dev的喜好不一样,导致配置不一样。

2.make:难以跨平台。

3.Ant:跨平台,但是过程式,有重复性工作,maven是声明式的,二是没有依赖管理。




a)约定优于配置
b)简单
c)测试支持
d)构建简单
e)CI
f)   插件丰富



之前一直听说maven的大名,直到它后来者居上,但因为工作环境,一直没有使用过maven,对它的很多功能都很期待。这不,这次换了工作新公司使用maven,也就自然而然的切换到maven了。使用maven时间不长,但对于maven我还是感觉到很多的不爽,姑且来说说自己浅显的认识。

       先说说maven的优点吧。

        一、maven支持工程模版。这个也是“约定优于配置”精神的体现,maven的eclipse插件和命令行都支持使用选择的Archetype信件maven工程。这个主要是有利于团队合作开发,规定了各个文件夹的用途。其实在没maven之前,这种工程文件布局就已经是一种广泛的共识了。只是它略带强制的意味。      

—- project

             |– pom.xml (pom)

             |– src

                    |– main

                                |– java

                                |– resources

                     |– test

                                |– java

                                |– resources



       二、依赖库的管理,这应该是它最大的优点了。这个简直是颠覆性的。想想没有它之前我们下载jar包是多么的痛苦,更别提升级jar包了。有了maven只要在pom最相应的添加和修改即可。但这个有一点小小的不爽,如果是之前下载jar包,一股脑下载和依赖的就行,现在要找groupid artifact version。幸好这个网站不错,推荐:http://mvnrepository.com

       三、扩展性很好。可以方便的支持各类插件,涉及到方方面面,比如编译、打包、依赖检查、web容器启动,用例执行等等。

        四、pom文件的继承。大项目,一般子项目(maven module)很多,为了防止父pom过大不易维护,子项目单独使用的jar只在自己的pom设置即可。


原创粉丝点击