背景
gradle的官网是 www.gradle.org,标题介绍是: accelerate developer productivity,翻译过来:提高开发者的生产率;
简要介绍:从手机app到微服务,从小的创业公司到大型企业,gradle帮助团队构建,自动化,交付更好更快的软件。
三大特征
- Build Anything(构建一切)
你可以选择使用Java,C++,Python语言,单仓库或者多仓库,gradle可以在任何平台上部署打包,这都是依赖于gradle的无比灵活来构建的;
- Automate Everything(自动化一切)
- Deliver Faster(极速交付)
优雅,极速的构建,从编译忽略到高级的缓存,甚至更多,gradle追求持续的性能,保证你的团队可以持续交付;
安装步骤
我使用的macos,这里我采用下载最新的原生包来安装gradle到我的环境;
步骤如下:
- 进入你的工作目录:
cd ~
- 下载指令:
wget https://downloads.gradle-dn.com/distributions/gradle-6.0.1-all.zip
- 解压:
unzip gradle-6.0.1-all.zip
- 重命名:
mv gradle-6.0.1 gradle
- 进入执行目录:
cd gradle/bin
- 复制执行目录地址:
pwd
,复制的路径假设为 /usr/tool/gradle/bin - 我使用的ohMyZSH,所以我在 我的~/.zshrc下增加路径
EXPORT PATH=$PATH:/usr/tool/gradle/bin
- 验证:
gradle
,看到gradle的版本号标识安装成功; - 删除下载的包节约空间:
rm -rf /usr/tool/gradle-6.0.1-all.zip
开始教程
java开发者,主要关注的是java方面的构建,先把自己放空,抛掉maven,从0开始;
java application
基本的java开发;
步骤:
-
mkdir demo_gradle_application
; -
cd demo_gradle_application
; gradle init
- 介绍一下目录
settings.gradle.kts 这里配置项目的名称;
build.gradle.kts 这里配置仓库,插件和依赖;
- 构建
gradlew build
- 测试
测试覆盖报告在
- 运行
./gradlew run
最后看到打印出hello world表示成功!
成果:
java library
java库,可以被其它项目引用或者说复用;
步骤:
- gradle init,选择 library ;
- 结构如上图;
同application类型;
settings.gradle.kts 主要设置项目的名字
build.gradle.kts主要配置插件,依赖仓库,依赖;
源码,测试目录同maven的约定;
- ./gradlew build 构建jar包;
- 定制jar包
定制版本号: 在build.gradle.kts中 增加版本号;
version = "1.0-SNAPSHOT"
然后执行打包,可以得到带版本的jar包;
定制jar包的 library name 和 library version;
在build.gradle.kts中
tasks{
jar{
manifest{
mapOf("Implementation-Title" to project.name,"Implementation-Version" to project.version
)
}
}
}
成果:
java web
使用gradle创建web项目;
gradle有一个war插件用来构建javaWEB应用,并提供了一个gretty查来用来测试和部署web应用到jetty或者tomcat中;例子展示了如何构建一个简单的webapp并部署到jetty使用gretty插件,你也可以学到如何写servlet的单元测试通过使用Mockit框架,并学到如何使用gretty和selenium写功能测试;
目录说明
步骤:
- 引入依赖;
- servlet的代码
- 引入页面代码
- 引入 gretty插件;
- 模拟测试servlet,使用mockito;
- 模拟功能测试,使用 webdriverManager,selenium;
- 跑测试;
成果:
代码:https://github.com/carterbrother/springbootpractice/tree/master/demo_gradle_webapp
java springboot
idea中使用gradle
原创不易,转载请注明出处。