一、Gradle入门

这里写自定义目录标题

    • 1、Gradle简介
    • 2、常见的项目构建工具
    • 3、Gradle 安装
    • 4、Gradle目录结构
    • 5、Gradle 创建第一个项目
      • 5.1 Gradle中的常用指令
      • 5.2 修改maven下载源
      • 5.3 ==Wrapper 包装器==

1、Gradle简介

Gradle 是一款 Google 推出的基于 JVM、通用灵活的项目构建工具

  • 支持 Maven,JCenter 多种第三方仓库
  • 支持传递性依赖管理、
  • 废弃了繁杂的 xml 文件,转而使用简洁的、支持多种语言(例如:java、groovy 等)的 build 脚本文件
  • 官网地址: https://gradle.org/

学习 Gradle 的原因:

  1. 目前已经有相当一部分公司在逐渐使用Gradle作为项目构建工具了。
  2. 作为Java开发程序员,如果想下载Spring、SpringBoot等Spring家族的源码,基本上基于Gradle构建的。
    总之,虽然目前市面上常见的项目构建工具有 Ant、Maven、Gradle,主流还是 Maven,但是未来趋势 Gradle

2、常见的项目构建工具

一、Gradle入门_第1张图片
一、Gradle入门_第2张图片


3、Gradle 安装

官网下载 https://gradle.org/install/
一、Gradle入门_第3张图片

1)下载并解压到指定目录
2)配置环境变量
一、Gradle入门_第4张图片
特别注意:
这里我们接着再配置一个 GRALE_USER_HOME 环境变量,
GRALE_USER_HOME 相当于配置 Gradle 本地仓库位置和 Gradle Wrapper 缓存目录。

3) 检测是否安装成功
gradle -v 或者 gradle --version
一、Gradle入门_第5张图片


4、Gradle目录结构

Gradle 项目默认目录结构和 Maven 项目的目录结构一致,都是基于约定大于配置【Convention Over Configuration】。
其完整项目目录结构如下所示:
一、Gradle入门_第6张图片
【注意】 gradlew与gradlew.bat执行的指定wrapper版本中的gradle指令,不是本地安装的gradle指令哦


5、Gradle 创建第一个项目

借助于 spring 脚手架创建 gradle 第一个项目:https://start.spring.io/
一、Gradle入门_第7张图片
查看生成的 gradle 项目目录结构如下所示:
一、Gradle入门_第8张图片

5.1 Gradle中的常用指令

一、Gradle入门_第9张图片


5.2 修改maven下载源

Gradle 自带的 Maven 源地址是国外的,该 Maven 源在国内的访问速度是很慢的,除非使用了特别的手段。一般情况下,
我们建议使用国内的第三方开放的 Maven 源或企业内部自建 Maven 源。

我们可以在 gradle 的 init.d 目录下创建以.gradle 结尾的文件,.gradle 文件可以实现在 build 开始之前执行,所以你可以在这个文件配置一些你想预先加载的操作。

在 init.d 文件夹创建 init.gradle 文件
一、Gradle入门_第10张图片

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/' }
		}
	}
}

一、Gradle入门_第11张图片


5.3 Wrapper 包装器

Gradle Wrapper 是什么 ?
Gradle Wrapper 实际上就是对 Gradle 的一层包装,用于解决实际开发中可能会遇到的不同的项目需要不同版本的 Gradle 问题 。例如:把自己的代码共享给其他人使用,可能出现如下情况 。

1.对方电脑没有安装 gradle
2.对方电脑安装过 gradle,但是版本太旧了

这时候,我们就可以考虑使用 Gradle Wrapper 了。这也是官方建议使用 Gradle Wrapper 的原因。实际上有了 Gradle Wrapper 之后,我们本地是可以不配置 Gradle 的,下载 Gradle 项目后,使用 gradle 项目自带的 wrapper 操作也是可以的。

那如何使用 Gradle Wrapper 呢?
项目中的gradlew、gradlew.cmd脚本用的就是wrapper中规定的gradle版本。参见源码
而我们上面提到的gradle指令用的是本地gradle,所以gradle指令和gradlew指令所使用的gradle版本有可能是不一样的。
gradlew、gradlew.cmd的使用方式与gradle使用方式完全一致,只不过把gradle指令换成了gradlew指令
当然,我们也可在终端执行 gradlew 指令时,指定指定一些参数,来控制 Wrapper 的生成,比如依赖的版本等,如下:
一、Gradle入门_第12张图片
具体操作如下所示 :
gradle wrapper --gradle-version=4.4:升级wrapper版本号,只是修改gradle.properties中wrapper版本,未实际下载
gradle wrapper --gradle-version 5.2.1 --distribution-type all :关联源码用

GradleWrapper 的执行流程:
1.当我们第一次执行 ./gradlew build 命令的时候,gradlew 会读取 gradle-wrapper.properties 文件的配置信息
2.准确的将指定版本的 gradle 下载并解压到指定的位置(GRADLE_USER_HOME目录下的wrapper/dists目录中)
3.并构建本地缓存(GRADLE_USER_HOME目录下的caches目录中),下载再使用相同版本的gradle就不用下载了
4.之后执行的 ./gradlew 所有命令都是使用指定的 gradle 版本。如下图所示:
一、Gradle入门_第13张图片

gradle-wrapper.properties 文件解读:
一、Gradle入门_第14张图片
注意:前面提到的 GRALE_USER_HOME 环境变量用于这里的 Gradle Wrapper 下载的特定版本的 gradle 存储目录。如
果我们没有配置过 GRALE_USER_HOME 环境变量,默认在当前用户家目录下的.gradle 文件夹中。

那什么时候选择使用 gradle wrapper、什么时候选择使用本地 gradle?
下载别人的项目或者使用操作以前自己写的不同版本的gradle项目时:用Gradle wrapper,也即:gradlew 什么时候使用本地gradle?新建一个项目时: 使用gradle指令即可。

你可能感兴趣的:(Gradle,gradle)