而ant则通常是简单的inclde 所有的jar。
导致的最终结果就是,你根本无法确定JBoss中的lib下的common-logging 是哪个版本的,
唯一的方法就是打开 META-INF 目录下MANIFEST.MF。估计JBoss迟早会转向Maven的。
第三:Maven是基于中央仓库的编译,即把编译所需要的资源放在一个中央仓库里,如jar,tld,pom,等。
当编译的时候,maven会自动在仓库中找到相应的包,如果本地仓库没有,则从设定好的远程仓库中下载到本地。
这一切都是自动的,而ant需要自己定义了。
这个好处导致的结果就是,用maven编译的项目在发布的时候只需要发布源码,小得很,
而反之,ant的发布则要把所有的包一起发布,显然maven又胜了一筹。
第四:maven有大量的重用脚本可以利用,如生成网站,生成javadoc,sourcecode reference,等。
而ant都需要自己去写。试试 maven site 的效果。
第五:maven目前不足的地方就是没有象ant那样成熟的GUI界面,
不过mavengui正在努力中。目前使用maven最好的方法还是命令行,又快又方便。
---------------------------------------------------------------------------------
Maven与极限编程
极限编程(XP)是近些年在软件行业红得发紫的敏捷开发方法,它强调拥抱变化。
该软件开发方法的创始人Kent Beck提出了XP所追求的价值、实施原则和推荐实践。
下面看一下Maven是如何适应XP的。
首先看一下Maven如何帮助XP团队实现一些核心价值:
1.简单。
Maven暴露了一组一致、简洁的操作接口,能帮助团队成员从原来的高度自定义的、复杂的构建系统中解脱出来,
使用Maven现有的成熟的、稳定的组件也能简化构建系统的复杂度。
2.交流与反馈。
与版本控制系统结合后,所有人都能执行最新的构建并快速得到反馈。
此外,自动生成的项目报告也能帮助成员了解项目的状态,促进团队的交流。
3.接近XP风格:
3.1测试驱动开发(TDD)。TDD强调测试先行,所有产品都应该由测试用例覆盖。
而测试是Maven生命周期的最重要的组成部分之一,并且Maven有现成的成熟插件支持业界流行的测试框架,如JUnit和TestNG。
3.2十分钟构建。十分钟构建强调我们能够随时快速地从源码构建出最终的产品。
用一条简单的命令就能让Maven帮你清理、编译、测试、打包、部署,然后得到最终的产品。
3.3持续集成(CI)。CI强调项目以很短的周期(如15分钟)集成最新的代码。 实际上,CI的前提是源码管理系统和构建系统。
4.富有信息的工作区。 这条实践强调开发者能够快速方便地了解到项目的最新状态。
当然,Maven并不会帮你把测试覆盖率报告贴到墙上,也不会在你的工作台上放个鸭子告诉你构建 失败了。
事实上,除了其他敏捷开发方法如SCRUM之外,几乎任何软件开发方法都能借鉴这些实践。
也就是说,Maven几乎能够很好地支持任何软件开发方法。
例如,在传统的瀑布模型开发中,项目依次要经历需求开发、分析、设计、编码、测试和集成发布阶段。
从设计和编码阶段开始,就可以使用Maven来建立项目的 构建系统。
在设计阶段,也完全可以针对设计开发测试用例,然后再编写代码来满足这些测试用例。
有了自动化构建系统,我们可以节省很多手动的测试时间。
尽早地使用构建系统集成团队的代码,对项目也是百利而无一害。最后,Maven还能帮助我们快速地发布项目。
---------------------------------------------------------------------------------------------------
1.3java-maven安装
、其中包含针对不同平台的各种版本的Maven下载文件。对于首次接触Maven的读者来说,推荐使用Maven 3.0,
因此下载apache-maven-3.0-bin.zip。
如果你对Maven的源代码感兴趣并想自己构建Maven,还可以下载apache-maven-3.0 -src.zip。
该下载页面还提供了md5校验和(checksum)文件和asc数字签名文件,可以用来检验Maven分发包的正确性和安全性。
windows安装和设置Maven
先检查和设置JAVA_HOME环境变量以及Java命令
将安装文件解压到你指定的目录中,如:
D:\bin>jar xvf "C:\Users\Juven Xu\Downloads\apache-maven-3.0--bin.zip"
这里的Maven安装目录是D:\bin\apache-maven-3.0,接着需要设置环境变量,将Maven安装配置到操作系统环境中。
打开系统属性面板(桌面上右键单击“我的电脑”→“属性”),点击高级系统设置,
再点击环境变量,在系统变量中新建一个变量,变量名为M2_HOME,
变量值为Maven的安装目录D:\bin\apache-maven-3.0。
点击确定,接着在系统变量中找到一个名为Path的变量,在变量值的末尾加上%M2_HOME%\bin;,环境变量设置完成
linux/unix安装和设置Maven
需要检查JAVA_HOME环境变量以及Java命令,命令如下:
juven@juven-ubuntu:~$ echo $JAVA_HOME
juven@juven-ubuntu:~$ java –version
下载Maven安装文件,
如apache-maven-3.0-bin.tar.gz,然后解压到本地目录:
juven@juven-ubuntu:bin$ tar -xvzf apache-maven-3.0-bin.tar.gz
现在已经创建好了一个Maven安装目录apache-maven-3.0,
虽然直接使用该目录配置环境变量之后就能使用Maven了,
但这里我更推荐做法是,在安装目录旁平行地创建一个符号链接,以方便日后的升级:
juven@juven-ubuntu:bin$ ln -s apache-maven-3.0 apache-maven
需要设置M2_HOME环境变量指向符号链接apache-maven,
并且把Maven安装目录下的bin/文件夹添加到系统环境变量PATH中去:
juven@juven-ubuntu:bin$ export M2_HOME=/home/juven/bin/apache-maven
juven@juven-ubuntu:bin$ export PATH=$PATH:$M2_HOME/bin
命令检查Maven安装:
juven@juven-ubuntu:bin$ echo $M2_HOME
juven@juven-ubuntu:bin$ mvn –version
---------------------------------------------------------------------------------------------------
1.4java-maven插件安装
安装eclipse安装m2eclipse插件
Eclipse是一款非常优秀的IDE。
最新版的Ecli