maven是干嘛的?

成功的软件工程需要构建工具。在Java世界中,并不缺少这样的工具,Ant就是一个标准的典型。

Maven是另一种关于开放资源画面的项目管理/构建工具。与Ant相比,Maven是一个将Ant概念中几个步骤深化了的项目管理工具。它不能建立在Ant之上,但它可以利用Ant构建脚本的优势,甚至生成这种脚本。

为了使用Maven,你首先必须创建一个项目对象模型(POM)。POM的默认值是project.xml文件,它描述了程序及其相关性。Maven用POM来构建项目和相关文件。一旦你有了一个基本的project.xml文件,你可以把它用作你所有项目的模板。

Maven的目标大致和Ant的类似。Maven还有许多实用的预定目标,如关于编辑、配置、生成文件、生成Ant构建脚本、创建jars、wars、ears文件等,都要用到它。如果漏掉了什么,你可以随意加入自己想要的目标。

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

通常对Maven的一个抱怨是有时它很慢。一些开发人员已使用Maven来创建一个用来日常开发的Ant文件,然后用Maven分配他们的项目或作为晚上进程的一部分。

无论如何,Maven的这些特点至少让它值得你认真地考虑。 

当您的项目逐渐变得庞大和复杂时,最好使用一种构建工具来自动构建您的项目。例如,一个典型的java项目,每次构建时都要经历编译java源代码,把class文件打成.jar包,生成javadocs文档等步骤。这些步骤都可以用构建工具帮您自动完成。说到构建工具,大家肯定都知道make,但make是依赖具体操作系统的。Java-centric选择了Ant,一种可以跨平台的使用xml来替换Makefile糟糕语法的构建工具。
    来自Apache软件组织的构建工具Maven更可能成为您的选择,Maven不仅提供了out-of-the-box的解决方案来统一处理构建相关的任务,还提供了信息统计的功能。使您的开发团队可以更好地跟踪项目的进展情况。

Maven的原理
    作为构建工具,Maven和Ant一样,利用构建配置文件进行编译,打包,测试等操作。您可以用Maven自带的功能进行任何的操作,但前提是做好了相应的配置。当然,修改已有的模板来开始新的项目是个好方法。除非您在写特有的task,不然都会有target重用的问题。
    Maven进行了一些改进。您将项目配置内容写成XML文件,并且可以使用很多Maven自带的功能。另外还可以在Maven项目中调用任何Ant的task。
    Maven自带的"goals"有以下功能:
      编译源代码
    产生Javadoc文档
    运行unit测试
    源代码文法分析
    产生违反团队编码规范的详细报告
    产生CVS最新提交报告
    产生CVS更改最频繁的文件报告和提交最频繁的开发人员报告
    产生可以交叉引用的HTML格式的源代码,等等。

你可能感兴趣的:(开发工具)