
Gradle快速入门——1.Gradle 入门
Gradle简介
Gradle 是一款 Google 推出的基于JVM、通用灵活的_项目构建工具_,支持
Maven
、JCenter
多种第三方仓库,支持传递性依赖、废弃了繁杂的 xml 文件,转而使用简洁的、支持多种语言(如:Java、groovy等)build脚本文件
官网地址:gradle官网
为什么学习Gradle?
- 构建速度更快
- 更现代
常用构建工具
自动构建工具对比 | Ant | Maven | Gradle |
---|---|---|---|
构建性能 | 最高 | 最低 | 居中 |
仓库 | 开发者自己处理 | maven仓库 | 支持多种远程仓库 |
依赖管理 | ivy管理 | GAV坐标管理 | GNV坐标管理 |
插件支持 | 实现方便 | 实现较难 | 实现发变组 |
遵循特定目录结构 | NO | 遵循 | 同maven |
配置文件 | xml文件最为繁琐 | xml文件 | 代码脚本,便于编写业务逻辑 |
侧重点 | 小型项目构建 | 项目包管理 | 大型项目构建 |
目前地位 | 使用较少 | 目前主流 | 未来趋势 |
Gradle安装
1. 安装JDK
JDK至少位1.8及以上
2. 下载Gradle并配置环境变量
环境变量配置:
验证
C:\Users\zxb>gradle -v
Welcome to Gradle 8.13!
Here are the highlights of this release:
- Daemon JVM auto-provisioning
- Enhancements for Scala plugin and JUnit testing
- Improvements for build authors and plugin developers
For more details see https://docs.gradle.org/8.13/release-notes.html
------------------------------------------------------------
Gradle 8.13
------------------------------------------------------------
Build time: 2025-02-25 09:22:14 UTC
Revision: 073314332697ba45c16c0a0ce1891fa6794179ff
Kotlin: 2.0.21
Groovy: 3.0.22
Ant: Apache Ant(TM) version 1.10.15 compiled on August 25 2024
Launcher JVM: 23.0.1 (Oracle Corporation 23.0.1+11-39)
Daemon JVM: F:\env\Java\openjdk-23.0.1 (no JDK specified, using current Java home)
OS: Windows 10 10.0 amd64
Gradle中的常用命令
常用命令说明:
常用gradle指令 | 作用` |
---|---|
gradle clean | 清空build目录 |
gradle classes | 编译业务代码和配置文件 |
gradle test | 编译测试代码,生成测试报告 |
gradle build | 构建项目 |
gradle build -x test | 跳过测试构建 |
需要注意的是:gradle 的指令要在含有 build.gradle 的目录执行。
修改maven下载源
Gradle自带的
maven
源地址,该 Maven 源在国内的访问速度是很慢的,除非使用了特别的手段。一般情况下,建议使用第三方或者企业内部的maven源
认识init.d
文件夹
我们可以在 gradle 的 init.d 目录下创建以.gradle 结尾的文件,.gradle 文件可以实现在 build 开始之前执行,所以你可以在这个文件配置一些你想预先加载的操作。
在init.d
文件夹创建init.gradle文件
allprojects {
repositories {
mavenLocal()
maven { name "Alibaba" ; url "https://maven.aliyun.com/repository/public" }
maven { name "Bstek" ; url "https://nexus.bsdn.org/content/groups/public/" }
mavenCentral()
}
}
buildscript {
repositories {
maven { name "Alibaba" ; url 'https://maven.aliyun.com/repository/public'}
maven { name "Bstek" ; url 'https://nexus.bsdn.org/content/groups/public/' }
maven { name "M2" ; url 'https://plugins.gradle.org/m2/' }
}
}
测试需要等待正式启动项目后
拓展1:启用init.gradle的方法
- 在命令行指定文件,例如:
gradle --init-script yourdir/init.gradle -q taskName
你可以多次输入此指令来指定多个init文件- 把init.gradle文件放到
USER_HOME/.gradle
目录下- 把以.gradle结尾的问价放到
USER_HOME/.gradle/init.d/
目录下- 把以.gradle结尾的文件放到
GRADLE_HOME/init.d/
目录下
以上方法均可,gradle会安装1-4的顺序执行这些脚本。
拓展2:仓库地址说明
mavenLoacal()
:指定使用maven本地仓库,而本地仓库在配置maven时settings文件指定仓库位置。- 如
E:\repository
,gradle就会查jar包顺序如下:USER_HOME/.m2/settings.xml
M2_HOME/conf/setting.xml
USER_HOME/.m2/repository
- 如
maven { url 地址 }
:指定maven仓库,一般用私有仓库地址或者其它的第三方库mavenCentral()
:这是Maven的中央仓库,无需配置,直接声明就能使用jcenter():JCenter中央仓库,实际也是用的maven搭建的,但相比maven仓库更友好,通过CDN分发,并且支持https访问,在新版本中已经废除了,替换为mavenCentral()
gradle可以通过指定仓库地址为本地maven仓库地址和远程仓库地址相结合的方式,避免每次都从远程仓库下载依赖库。
但是这种方式也有一定问题,如果本地maven仓库中有这个依赖,就会直接加载本地依赖,如果本地仓库没有该依赖,那么还是会从远程下载。但是下载的jar不是层次在本地maven仓库中,而是放在自己的缓存文件中,默认在
USER_HOME/.gradle/caches
。访问顺序图如下:
当然,你也可以通过配置
GRADLE_USER_HOME
环境变量,则会放在GRADLE_USER_HOME/caches
目录。但是这样是无法将 gradle caches指向 maven repository。
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 zxb
评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果