Gradle是一个基于JVM的构建工具
支持传递性依赖管理,而不需要远程仓库或者是pom.xml和ivy.xml配置文件。
支持maven, Ivy仓库
是一款通用灵活的构建工具
面向Java应用为主。当前其支持的语言限于Java、Groovy和Scala.gradle支持局部构建。
gradle是第一个构建集成工具,与ant、maven、ivy有良好的相容相关性。
支持多方式依赖管理
轻松迁移:gradle适用于任何结构的工程,你可以在同一个开发平台平行构建原工程和gradle工程。
gradle的整体设计是以作为一种语言为导向的,而非成为一个死板的框架。
免费开源
简单的来说:gradle用来打包的。 以在eclipse里面写java程序为例
为什么需要打包:
最初写完了,直接右键run就可以了。但是程序写完了毕竟是要发布到服务器上或者给别人用的,你第一不可能让所有要运行的人都装个eclipse,第二不可能把源代码公布给所有人。所以你需要把你的代码发布成二进制形式,让其它环境方便运行,这就是打包。
为什么用ant:
打包的时候要做很多事,比如说配置文件中的用户名和密码,你本地开发和程序实际运行时的内容肯定不一致,所以需要有两个文件,开发的时候用一个,实际运行的时候用一个。这样每次打包的时候都要重复的做这些事,ant可以让你用xml的形式把这些事情写成脚本,然后自动运行。
为什么用maven:
你的项目要用很多jar包,比如你写日志要用个log4j吧,连数据库要用个connector吧。这年头写程序不用个spring都不好意思出门,下载下来的spring包打开一看,密密麻麻的好几十个jar,不知道用哪个不用哪个。而且,即便是你一狠心把这些jar包都放进来,很大可能性还是不能运行,因为还要依赖其它的jar包。哪天想升级个spring小版本,所有jar包都要重来一遍,你也不记得哪些是由于spring引进来的jar包了。 所以有了maven,你只要配置一下说我要用spring 3,所有jar包都给你下载好了,你直接运行就行了。赶明儿想升级版本,直接把3改成4,新的jar包也给你下载好了。
最后:
用了maven,jar包是方便了,但我打包的时候还是有好多事要做啊,然后你会发现maven实在是不知道怎么做这些事,于是开始怀念ant。 gradle就是又能干maven的活,又能干ant的活,用groove语言写脚本,表达能力还更强。