(一)Maven初步了解与认识

Apache Maven是一个软件项目管理的综合工具。基于项目对象模型(POM)的概念,提供了帮助管理构建、文档、报告、依赖、发布等方法,Maven简化和标准化项目建设过程。处理编译,分配,文档,团队协作和其他任务的无缝连接。 Maven增加可重用性并负责建立相关的任务。

 

maven的好处在于可以将项目过程规范化、自动化、高效化以及强大的可扩展性,利用maven自身及其插件还可以获得代码检查报告、单元测试覆盖率、实现持续集成等等。

 

Maven的基本原理很简单,采用远程仓库和本地仓库以及一个核心的配置文件pom.xml,pom.xml中定义的jar文件从远程仓库下载到本地仓库,各个项目使用同一个本地仓库的jar,同一个版本的jar只需下载一次,而且避免每个应用都去拷贝jar。同时它采用了现在流行的插件体系架构,所maven的核心非常的小,只有几兆大小的文件,在执行maven任务时,才会自动下载需要的插件。

 

具体的概念模型如下图:

 

 

Maven官方把maven定义为一个项目管理工具,下面我们来看看maven给我们的项目管理做了哪些工作?

项目标准化:

Maven项目具有统一的项目结构,这个项目结构是参考业界的最佳实践而成,为后面使用统一的maven命令打下了基础,如测试mvn test、打包mvn package等,无需写一行脚本,就可以方便的实现众多功能。

文档和报告:

使用mvn site可以快速生成项目站点,apache很多开源项目站点都采用maven生成,会出现built by maven字样的图标。

类库管理:

类库管理是maven一个比较核心的功能,我们就需要将项目所依赖的类库加入到pom.xml中,那么maven会自动将依赖的类库下载到本地,并且下载的类库如果还依赖其他的类库,它也会自动下载过来,这样我们就不需要一个一个类库去下载了。

发布管理:

使用maven可以方便的进行项目发表管理。在项目开发到一定阶段,可以使用mvn package打包,它会自动先运行mvn test,跑所有的Test Case,只有全部通过才能正确打包。生成的war包(如果项目的packaging为war)在target目录下。这个 war包与使用ant脚本生成一样,但无需一行脚本,这也是maven对比ant的优势之一。使用mvn install将编译和打包好的文件发布到本地仓库中。使用mvn deploy在整合或者发布环境下执行,将最终版本的包拷贝到远的repository。

 

本系列博文的目的在于突出maven的重要知识点,提高对maven的学习效率。如果大家掌握了这些知识点,对于使用maven是没问题的。希望对想要解的maven的朋友们有所帮助。如果大家想全面掌握maven,推荐大家去看许晓斌写得《maven实战》。

 

 

可爱博主:AlanLee

 

博客地址:http://www.cnblogs.com/AlanLee

 

本文出自博客园,欢迎大家加入博客园。

 

 

posted @ 2016-12-05 10:37  AlanLee-Java  阅读(1977)  评论(0编辑  收藏