没有合适的资源?快使用搜索试试~ 我知道了~
构建,软件生命周期中重要的一环,在现代软件开发过程中,起着越来越重要的作用。过去在Java或类Java的世界里,Ant、Maven再熟悉不过了,Maven凭借其强大的依赖配置战胜Ant,基本上成为了Java构建的标准。而在现代,系统日益复杂,构建的灵活性要求越来越高,比如:构建过程中需要打包上传到服务器,Maven无法很好地支持这种复杂的系统构建,所以,我选择了Gradle,一个基于Groovy,更灵活更强大的构建系统,能帮助我们构建更复杂的项目。Gradle是很成熟的技术,可以处理大规模构建Gradle对多语言、多平台有更natural的支持Gradle关注在构建效率上Gradle发布很频繁
资源推荐
资源详情
资源评论
灵活强大的构建系统灵活强大的构建系统Gradle
前言
构建,软件生命周期中重要的一环,在现代软件开发过程中,起着越来越重要的作用。过去在Java或类Java的世界里,Ant、
Maven再熟悉不过了,Maven凭借其强大的依赖配置战胜Ant,基本上成为了Java构建的标准。而在现代,系统日益复杂,构
建的灵活性要求越来越高,比如:构建过程中需要打包上传到服务器,Maven无法很好地支持这种复杂的系统构建,所以,我
选择了Gradle,一个基于Groovy,更灵活更强大的构建系统,能帮助我们构建更复杂的项目。
为什么选择Gradle
从框架方向来看:
Gradle是很成熟的技术,可以处理大规模构建
Gradle对多语言、多平台有更natural的支持
Gradle关注在构建效率上
Gradle发布很频繁,重要feature开发计划透明化
Gradle社区很活跃,并且增加迅速
从语言特性来看:
1.代码很精简
2.Gradle基于Groovy,能完成复杂系统的构建任务
3.DSL比XML更简洁高效
Gradle在开源项目中的使用
现在使用Gradle构建的开源项目很多,我有过接触的比如:Grails, Griffon, Groovy, Hibernate, Spring
还有很多其它开源项目也都在用Gradle,比如Tapestry,Qi4J,Netflix下所有开源项目(python、c++、html等除外)等等。
Gradle在企业中的使用
现在使用Gradle来做构建体系的公司也越来越多,linkedin就很早开始切换到Gradle。
Gradle体验
Gradle的安装非常方便,下载ZIP包,解压到本地目录,设置 GRADLE_HOME 环境变量并将 GRADLE_HOME/bin 加到
PATH 环境变量中,安装就完成了。用户可以运行gradle -v命令验证安装,这些初始的步骤和Maven没什么两样。我这里安装
的Gradle版本是1.10,详细信息见下:
bob [10:42] ? gradle -v
------------------------------------------------------------
Gradle 1.10
------------------------------------------------------------
Build time: 2013-12-17 09:28:15 UTC
Build number: none
Revision: 36ced393628875ff15575fa03d16c1349ffe8bb6
Groovy: 1.8.6
Ant: Apache Ant(TM) version 1.9.2 compiled on July 8 2013
Ivy: 2.2.0
JVM: 1.7.0_45 (Oracle Corporation 24.45-b08)
OS: Mac OS X 10.9.2 x86_64
Gradle的Features很多,官网doc介绍很详细,我这里就不多说。下面简单介绍一下Gradle构建相关的东西。
Gradle基础
1,Gradle有两个最基本的概念:project和task。Gradle里面的所有东西都基于这两个概念。project通常指一个项目,而task
指构建过程中的任务。一次构建可以有1到n个project,每个project有1到n个task。
2,Gradle有一个类似Maven中pom.xml的配置文件:build.gradle。功能也基本一样,负责当前project的构建定义。看一个
build.gradle的简单例子:
bob [10:46] ? pwd
/Users/bob/framework/gradle-1.10/samples/userguide/tutorial/hello
// 在你安装的gradle根目录下有对应的samples目录,里面有很多例子
bob [10:46] ? cat build.gradle
task hello {
doLast {
println 'Hello world!'
}
}
文件中定义了一个task:hello,task的内容是 "println 'Hello world!'",我们来执行一下:
bob [10:49] ? gradle -q hello
Hello world!
可以看到,输出了"Hello world!",这里-q的意思是quiet模式,只输出构建中的必要信息。
gradle里可以定义多个task,task之间也可以有依赖关系,还可以定义默认task,看一个例子:
带有task依赖关系:
bob [10:53] ? cat userguide/tutorial/lazyDependsOn/build.gradle
task taskX(dependsOn: 'taskY') << {
println 'taskX'
}
task taskY << {
println 'taskY'
}
带有默认task例子:
bob [10:59] ? cat userguide/tutorial/defaultTasks/build.gradle
defaultTasks 'clean', 'run'
task clean << {
println 'Default Cleaning!'
}
task run << {
println 'Default Running!'
}
task other << {
println "I'm not a default task!"
}
看看执行情况:
bob [10:59] ? gradle -q
Default Cleaning!
Default Running!
bob [11:00] ? gradle -q other
I'm not a default task!
默认task,当没有task指定时,则会执行默认的task。
Gradle依赖
Gradle和Maven在依赖管理上几乎差不多,核心的概念是一样的,只不过Gradle语法更精简,并且多了一些更灵活的自定义配
置。我们先看一个例子,Maven的pom.xml:
剩余8页未读,继续阅读
资源评论
weixin_38719643
- 粉丝: 7
- 资源: 941
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 油猴(tampermonkey)插件
- python语言douban爬虫程序代码QZQ.txt
- Python语言PPTMB爬虫程序代码QZQ.txt
- Python中利用VPython库实现3D圣诞树的动态可视化
- UDP RTL8211E wireshark能抓到数据,网口调试助手需要打开wireshark才能收到数据
- SwitchyOmega插件
- 绿色经济转型中的创新思维与实践-清华大学CIDEG推出《绿色创新理论与实践》线上课程
- java项目,毕业设计-广场舞团系统
- 企业云上数据安全-华为和信通院-2024
- 使用Python在控制台中打印圣诞树的简易方法
- java项目,毕业设计-就业信息管理系统
- C# WPF-IP扫描工具WPF.zip
- Comsol热-流-固四场耦合增透瓦斯抽采,包括动态渗透率、孔隙率变化模型,涉及pde模块等四个物理场,由于内容可复制源文件
- 国内主要厂商AI大模型一览:技术特性与API调用概览
- Python编程实现控制台圣诞树打印方法
- 桌上型简易脉冲热压机sw16可编辑全套技术开发资料100%好用.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功