1、简介
Gradle是一款Google推出的 基于JVM、 通用灵活的 项目构建工具, 支持Maven,JCenter多种第三方仓库;支持传递性依赖管理、废弃了繁杂的xml文件,转而使用 简洁的 、 支持多种语言 (例如:java、groovy等)的 build脚本文件 。
2、下载并配置
1、gradle 依赖 jdk 必须保证 jdk 在 8 或者 8 以上。
$ java -version
java version "1.8.0_121"
2、选择对应的版本进行下载
3、配置环境变量
4、测试环境变量是否生效
3、镜像加速
- 全局配置
如果你没有设置 GRADLE_HOME
环境变量的话,默认情况下在用户目录下的 .gradle/
文件夹下创建文件 init.gradle
(这个文件默认是没有创建的,需手动创建),添加以下配置信息即可
配置 GRADLE_HOME 环境变量
settingsEvaluated { settings ->
println "aliyun pluginManagement"
settings.pluginManagement {
repositories {
maven { url "https://maven.aliyun.com/repository/gradle-plugin" }
maven { url "https://maven.aliyun.com/repository/spring-plugin" }
gradlePluginPortal()
}
}
}
如下图所示:
- 项目级配置
在项目的根目录下 /settings.gradle
文件中第一行加入,注意这配置必须要放在开头
pluginManagement {
println "aliyun pluginManagement"
repositories {
maven { url "https://maven.aliyun.com/repository/gradle-plugin" }
maven { url "https://maven.aliyun.com/repository/spring-plugin" }
gradlePluginPortal()
}
}
常规依赖库镜像加速
- 全局配置 用户根目录下/
.gradle/init.gradle
buildscript {
repositories {
println "aliyun repositories"
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/central' }
maven { url 'https://maven.aliyun.com/repository/public' }
}
allprojects {
println "aliyun allprojects ${project.name}"
repositories {
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/central' }
maven { url 'https://maven.aliyun.com/repository/public' }
}
}
}
- 项目级配置 项目根路径/
build.gradle
这里以 Spring Boot 为例,Android 项目也是类似
buildscript {
ext {
springBootVersion = '2.0.6.RELEASE'
}
repositories {
maven { url "https://maven.aliyun.com/repository/gradle-plugin" }
maven { url "https://maven.aliyun.com/repository/spring-plugin" }
gradlePluginPortal()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
apply plugin: 'java'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
group = 'com.jacknic'
version = '1.0.0'
sourceCompatibility = 1.8
repositories {
println "aliyun repositories ${project.name}"
maven { url 'https://maven.aliyun.com/repository/central' }
maven { url 'https://maven.aliyun.com/repository/public' }
}
dependencies {
testImplementation('org.springframework.boot:spring-boot-starter-test')
implementation('org.springframework.boot:spring-boot-starter-web')
}
4、创建项目
- idea gradle 配置
- 创建项目
如果由于网络原因无法下载 gradlew 如下图所示,项目创建失败
可以进行设置如下图所示
项目创建完成,项目的结构如下:
运行 init, wrapper
1、build.gradle
它表示Gradle的项目构建脚本,在里面我们可以通过Groovy来编写脚本,在Gradle中,一个build.gradle就对应一个项目,build.gradle放在Gradle项目的根目录下,表示它对应的是根项目,build.gradle放在Gradle项目的其他子目录下,表示它对应的是子项目,Gradle构建时会为每一个build.gradle创建一个对应的Project对象,这样编写build.gradle时就可以使用Project接口中的方法。
2、settings.gradle
它表示Gradle的多项目配置脚本,存放在Gradle项目的根目录下,在里面可以通过include来决定哪些子项目会参与构建,Gradle构建时会为settings.gradle创建一个对应的Settings对象,include也只是Settings接口中的一个方法。
3、Gradle Wrapper
gradle init
执行时会同时执行wrapper
任务,wrapper
任务会创建gradle/wrapper目录,并创建gradle/wrapper目录下的gradle-wrapper.jar、gradle-wrapper.properties这两个文件,还同时创建gradlew、gradlew.bat这两个脚本,它们统称为Gradle Wrapper,是对Gradle的一层包装。
Gradle Wrapper的作用就是可以让你的电脑在不安装配置Gradle环境的前提下运行Gradle项目,例如当你的Gradle项目被用户A clone下来时,而用户A的电脑上没有安装配置Gradle环境,用户A通过Gradle构建项目时,Gradle Wrapper就会从指定下载位置下载Gradle,并解压到电脑的指定位置,然后用户A就可以在不配置Gradle系统变量的前提下在Gradle项目的命令行中运行gradlew或gradlew.bat脚本来使用gradle命令,假设用户A要运行gradle -v
命令,在linux平台下只需要运行./gradlew -v
,在window平台下只需要运行gradlew -v
,只是把gradle
替换成gradlew
。
Gradle Wrapper的每个文件含义如下:
1、gradlew:用于在linux平台下执行gradle命令的脚本;
2、gradlew.bat:用于在window平台下执行gradle命令的脚本;
3、gradle-wrapper.jar:包含Gradle Wrapper运行时的逻辑代码;
4、gradle-wrapper.properties:用于指定Gradle的下载位置和解压位置;
gradle-wrapper.properties中各个字段解释如下:
distributionBase=GRADLE_USER_HOME # 下载的Gradle的压缩包解压后的主目录,为GRADLE_USER_HOME,在window中它表示**C:/用户/你电脑登录的用户名/.gradle/** ,在mac中它表示**~/.gradle/**
distributionPath=wrapper/dists # 相对于distributionBase的解压后的Gradle的路径,为wrapper/dists
distributionUrl=https://services.gradle.org/distributions/gradle-7.4.2-bin.zip # Grade压缩包的下载地址
zipStoreBase=GRADLE_USER_HOME # 同distributionBase,不过是表示存放下载的Gradle的压缩包的主目录
zipStorePath=wrapper/dists # 同distributionPath,不过是表示存放下载的Gradle的压缩包的路径
使用Gradle Wrapper后,就可以统一项目在不同用户电脑上的Gradle版本,同时不必让运行这个Gradle项目的人安装配置Gradle环境,提高了开发效率。
5、构建项目
```
gradle build
```
生成了对应的jar包
6、创建springboot 项目实战
- 创建项目
选择springboot 配置
创建完成如下图所示:
运行结果如下: