Gradle软件的安装

382 阅读4分钟

以下内容主要是针对自己一些工作学习中的经验进行编写,和大众的操作可能存在一些差异。

首先,安装Gradle软件,需要根据具体的情况来进行分析,如果是搭建源码阅读环境的时候,需要安装Gradle环境,那么会根据要阅读的源码来确定下载具体哪个版本的安装包。

如果是自己要使用gradle来构建项目,有两种选择,第一种是直接下载最新版本的gradle,另一种我的做法就是参考Spring 源码中使用的gradle是哪个版本的,来和它保持一致。 主要是Spring 在使用gradle构建一个大型的项目的过程中,会对gradle进行很多的深入研究,我们可以从它的构建文件中,学习很多东西,来帮助我们解决一些问题,一味的找最新版本不一定是好的。

安装JDK环境

gradle的运行依赖于JDK。

确定源码中使用的gradle的版本

因为最近在看kakfa3的源码,且kafka3正好也是使用gradle进行构建的,因此这里就以gradle3.1.0 源码为例进行说明.

01_确定源码构建使用的gradle的版本.png

02_查看gradle-wrapper文件来确定源码构建时使用的gradle的版本.png

一般会直接去源码目录下, kafka-3.1.0-src/gradle/wrapper/gradle-wrapper.properties 文件中查看源码构建使用的gradle的版本。

该文件中的内容如下:

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionSha256Sum=a8da5b02437a60819cad23e10fc7e9cf32bcb57029d9cb277e26eeff76ce014b
distributionUrl=https://services.gradle.org/distributions/gradle-7.2-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

从文件中,可以知道构建kafka3源码时使用的是gradle-7.2-all.zip 这个版本的软件。

那么我们在搭建kafka3源码的时候,也是建议使用这个版本的软件。

安装gradle软件

一般确定好要安装的gradle的软件版本之后,会直接去gradle的官网 (gradle.org/ ) 去下载指定版本的安装包。

下载之后一般需要配置三个环境变量:

配置 GRADLE_HOME 变量

该变量主要是指向Gradle的安装目录下,配置该变量,注意是为了后续Gradle版本变更的时候,可以快速的进行调整 。

下次变更Gradle版本的时候,只有将GRADLE_HOME指向新的gradle安装路径即可。

没什么特别要注意的。 这里不是针对小白看的文档,所以不做详细说明。

在linux系统下,在/etc/profile 文件的最后一行添加如下配置(这里后面的路径以实际安装的路径为准)

export GRADLE_HOME = /usr/local/software/gradle/

在window系统中,自行百度吧。

配置PATH 变量

配置该变量主要是为了可以在任何路径下可以直接找到Gradle的软件。

在window系统下,将 %GRADLE_HOME/bin 目录添加到系统的PATH路径下。

在Linux下,在 /etc/profile 文件的最后一行添加如下的配置

export PATH=$PATH:$GRADLE_HOME/bin

配置GRADLE_USER_HOME 环境变量

配置该变量,注意是为了控制gradle下载下来的一些依赖的保存路径。个人喜欢为Gradle单独设置一个本地仓库的地址,而不是和maven的本地仓库公用,而且,及时将GRADLE_USER_HOME配置的路径下,不仅仅保存的是下载的依赖,还有一些 其他的内容。

这里以mac系统下的内容做一下展示:

03_gradle的userHome路径下的内容.png

在Windows 下,配置方式不细说,自行查询。

在Linux下,在/etc/profile 文件的最后一行添加如下配置:

export GRADLE_USER_HOME=/opt/data/repo_gradle

在linux下需要注意,需要给该路径设置恰当的权限。如果不知道怎么设置,直接执行如下命令

$> chmod 777 -R /opt/data/repo_gradle

修改gradle下载依赖为国内仓库

切换到Gradle 的安装路径下,

在 $GRADLE_HOME/gradle/init.d/init.gradle 文件中,添加或替换为如下的内容

allprojects{
    repositories {
        def ALIYUN_REPOSITORY_URL = 'http://maven.aliyun.com/nexus/content/groups/public'
        def ALIYUN_JCENTER_URL = 'http://maven.aliyun.com/nexus/content/repositories/jcenter'
        all { ArtifactRepository repo ->
            if(repo instanceof MavenArtifactRepository){
                def url = repo.url.toString()
                if (url.startsWith('https://repo1.maven.org/maven2')) {
                    project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_REPOSITORY_URL."
                    remove repo
                }
                if (url.startsWith('https://jcenter.bintray.com/')) {
                    project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_JCENTER_URL."
                    remove repo
                }
            }
        }
        maven {
            url ALIYUN_REPOSITORY_URL
            url ALIYUN_JCENTER_URL
        }
    }
}

验证Gradle是否安装成功

执行如下的命令

$> gradle  --version

显示效果如下:

04_查看gradle的版本来验证gralde是否安装成功.png

一般情况下,可以查看到gradle的版本,就说明gradle配置的没有什么问题了

但是我们可以跟进一步来进行验证

切换到一个空的路径下,执行如下的命令

$> gradle init

如果效果如下,

05_通过gradleinit查看是否可以正常工作.png

并且在 $GRADLE_USER_HOME 目录下创建了多个文件夹,则说明gradle是可以正常工作的。

Gradle的相关资料

books.didispace.com/GradleUserG… gradle官方文档的翻译版

github.com/DONGChuan/G… gradle官方文档翻译版在github上面的托管的地址

变更记录

内容类型时间
Gradle软件的安装初始化2022-03-15(星期二)
新增了对gradle依赖JDK的安装以及gradle安装后的验证A2022-03-15(星期二)
新增官方文档的中文翻译A2022-03-15(星期二)