一、Gradle简介:
我们都创建过基于Maven的项目,maven可以很好的管理项目的依赖,编译和打包项目,Gradle是一个和Maven类似的自动化构建工具,Maven是基于xml文件格式,而Gradle是基于Groovy的语言,这使Groovy的构建脚本更加的灵活并且易于编写。在性能上,Gradle也引入了增量构建以及一些缓存机制,也要比maven构建速度更快,总之,Gradle的优点要比maven多,作为继maven之后的新一代的构建工具,如果我们要创建新的项目,不妨使用Gradle尝试下。
二、Gradle本地安装以及环境变量配置
1.Gradle下载
本地环境:Win11、JDK8
官网下载地址:https://gradle.org/releases/
为了和本地IDEA兼容,我这里下载的版本是v7.5.1,只需要下载二进制安装包即可
2.配置环境变量
安装包解压到本地目录,如下:
配置GRADLE_HOME环境变量,值为gradle 解压的路径
GRADLE_HOME
D:\SoftWare\dev\gradle\gradle-7.5.1
配置PATH环境变量
%GRADLE_HOME%\bin
配置GRADLE_USER_HOME环境变量,设置Gradle用户目录的路径,用于设置依赖项的缓存位置
变量名:GRADLE_USER_HOME
变量值:自定义Gradle仓库目录或者Maven的仓库目录
这里我在配置的时候,有个疑问,Gradle与Maven能使用同一个仓库地址吗?上网查了下,也就是说,gradle是无法和maven公用一个仓库的,只不过gradle可以使用maven作为下载源
检测Gradle是否安装成功
gradle -v
或者 gradle --version
3.配置Gradle下载源,在Gradle安装目录的init.d目录下,创建一个.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/' }
}
}
}
其中,allprojects下面的repositories配置的是gradle获取jar包的顺序,也就是先是maven本地仓库路径,第二个是【阿里镜像仓库地址】,第三个也是一个国外的远程仓库地址,第四个则是maven的中央仓库地址
mavenLocal()为maven本地仓库地址,如想要生效的话,还需要本地配置M2_HOME的环境变量
mavenCentral()中央仓库地址,则无需配置,直接声明就可使用
上述配置完成之后,再使用gradle导入jar包,就会优先从本地的maven仓库的目录下寻找jar包了
三、Gradle创建项目
1.新建gradle项目
2.build.gradle文件修改下镜像源
repositories {
mavenLocal()
maven {
url 'https://maven.aliyun.com/repository/public'
}
mavenCentral()
}
gradle项目结构说明
│ build.gradle
│ gradlew
│ gradlew.bat
│ settings.gradle
├─gradle
│ └─wrapper
│ gradle-wrapper.jar
│ gradle-wrapper.properties
│
└─src
...
1.build.gradle:项目整体的一些配置,类似maven中的pom.xml,定义构建逻辑、依赖关系、插件应用等,其中主要的属性有:
- group、version、name,属性定义了项目的组织或组ID,用于唯一标识项目的组织或团队。这通常是一个反向的域名,version属性定义了项目的版本号,name属性表示项目的名称,group 和 version 属性通常在项目的根 build.gradle 文件中设置,而 name 属性可能在项目的 settings.gradle 文件中设置。
- dependencies 定义配置项目的依赖
- repositories 定义 Gradle 从哪里获取依赖项
2.gradlew/gradlew.bat:gradle的包装器脚本,可以执行gradle命令,gradlew和gradlew.bat可以执行Gradle构建脚本(build.gradle)中定义的各种任务,如构建项目、清理项目、运行测试、打包项目以及管理依赖等。这些任务通过运行相应的命令来完成,例如"./gradlew build"命令将编译源代码、运行测试等。gradlew是在Linux或Mac系统中使用的,而gradlew.bat则是Windows系统使用的。
3.settings.gradle:这个文件用于定义项目的模块和子项目。它指定了哪些模块应该包含在构建过程中,以及它们之间的依赖关系。
4.gradle/wrapper/gradle-wrapper.jar wrapper运行需要的依赖包
5.gradle/wrapper/gradle-wrapper.properties 是一些wrapper的配置,其中distributionUrl用来指定gradle的下载地址和版本
6.src目录:项目的源代码
Gradle-Wrapper的作用是什么?
Gradle-Wrapper主要用来简化Gradle的安装和部署,由于每个项目Gradle的版本可能不太一致,我们项目可能不能及时跟着调整Gradle版本,所以GradleWrapper就是用来下载特定版本的gradle然后执行的,就不需要我们开发者在本地再安装gradle了,也就是可以再不同的项目中使用不同的gradle版本。
所以,当我们想使用wrapper里面的命令的话,就使用./gradlew
命令,如果想要使用本地的gradle,可以使用gradle
命令,gradlew基本上都涵盖了gradle的命令。