Java项目的maven介绍

一、maven的概念?
    maven英文翻译为“知识的积累”,也可以翻译为“专家”或“内行”。作为apache组织中的一个颇为成功的开源项目。maven 主要服务于基于java平台的项目构建、依赖管理和项目信息管理;maven是多模块的项目管理

二、maven有何作用?
 1)使项目的构建构成更容易
 2) 提供统一构建系统(编译、测试、持续整合……)
 3)提供高质量的项目信息(依赖、报告、site……)
 4)提供开发的最佳实践指南;
 5)能无缝的加入新的特性;
 6)依赖管理:我们的程序要依赖于别人的程序 


三、maven包括哪些?
项目对象模型(Project Object Model)
坐标(Coordinates)
项目生命周期(ProjectLifeCycle)
插件(plugin)和目标(goal)
依赖管理系统(Dependency Management System)
仓库管理(Repositories)
maven是什么,怎么用maven?


四、  maven和ant的比较 
  第一:每次和别人说maven的时候,很多会认为是全新的东西而不肯放弃ant。其实,ant脚本是可以直接运行在maven中的。 
如果要说maven和ant有什么差别,我觉得最大的差别就是在于maven的编译以及所有的脚本都有一个基础,就是POM(project   object   model)。这个模型定义了项目的方方面面,然后各式各样的脚本在这个模型上工作,而ant完全是自己定义,显然maven更胜一筹。 

第二:Maven对所依赖的包有明确的定义,如使用那个包,版本是多少,一目了然。而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最好的方法还是命令行,又快又方便。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值