Gradle使用笔记

Gradle 是一个专注于构建自动化、提供多语言支持的构建工具,假如你需要构建、测试、发布以及部署软件到某些平台,Gradle 提供一个灵活的模型,提供从编译、打包代码并发布到网站的整个开发生命周期支持,Gradle 设计之初就考虑到支持构建自动化,多语言以及跨平台。Gradle 目前支持的语言主要有 Java,Scala,Android,C/C++,Groovy。和开发工具以及持续集成服务器整合在一起,如:Eclipse,Intellij,Jenkins。

Gradle 的优势

  • 免费
  • 社区完善
  • AndroidStudio 自动构建工具
  • 相比 xml 配置文件,语法极尽简洁,后续例子会给出相关代码对比
  • 新技术总是很酷

在 Windows7 下安装 Gradle

Gradle 的运行需要Java JDK 的支持,JDK 的版本至少是1.7。cmd 运行 java -version 以验证 java 版本。

C:\Users\kyyee>  java -version
java version "1.8.0_74"
Java(TM) SE Runtime Environment (build 1.8.0_74-b02)
Java HotSpot(TM) 64-bit Server VM (build 25.74-b02, mixed mode)

使用包管理工具安装

Chocolatey 是 Windows 下的一个包管理工具

安装完成后在 cmd 运行 choco install gradle

C:\Users\kyyee>  choco install gradle

手动安装

  1. 最新 Gradle 二进制文件包下载,以前的版本下载
  2. 解压二进制文件包,将二进制文件包复制到希望安装的目录下如:C:\Program Files (x86)\Gradle
  3. 配置系统环境变量
    GRADLE_HOME=”C:\Program Files (x86)\Gradle\gradle-3.4.1”
    PATH=”%GRADLE_HOME%/bin”
  4. 验证你的安装
C:\Users\kyyee>  gradle -v

输入如图所示,表示安装成功。

Gradle使用笔记

在 IDEA 中使用 Gradle

进入 IDEA 创建新项目的引导界面,选择创建 Gradle 项目,如图所示。

Gradle使用笔记

勾选 Web ,IDEA 创建的目录结构如图所示。

Gradle使用笔记

不勾选 Web ,IDEA 创建的目录结构如图所示。

Gradle使用笔记

点击Next进入下一步,如图所示。

Gradle使用笔记

这里需要填写项目的组织所有者和项目名称,进入下一步,如图所示。

Gradle使用笔记

建议全部勾选并选择本地Gradle,进入下一步,确认信息,点击Finish,一个Gradle项目就构建完成了。

IDEA 中的 gradle 解析

目录结构

一般来说,使用 IDEA 引导生成的 gradle 项目,目录层次如下:

├── .gradle               项目 gradle 的记录
├── .idea                 项目IDEA 配置信息
├── gradle                gradle 版本信息,版本下载地址,方便同意gradle版本
├── src                   项目根目录
    ├── main
        ├── java          Java 代码
        ├── resources     资源
    ├── test
├── build.gradle          构建脚本
├── demo.iml              项目配置文件,导入项目自动生成
├── gradlew               gradle unix 启动脚本
├── gradlew.bat           gradle windows 启动脚本

gradlew 与 gradlew.bat 脚本文件在即使没装 gradle 的机器上也能运行,gradlew 与 gradle 的命令大致相同,只是 gradlew 多了一个环境检测。

build.gradle 详解

这是一个默认的gradle配置文件

buildscript {
    ext {
        springBootVersion = '1.5.2.RELEASE'
    }
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'

version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8

repositories {
    mavenCentral()
}


dependencies {
    compile('org.springframework.boot:spring-boot-starter-web')
    testCompile('org.springframework.boot:spring-boot-starter-test')
}

buildscript 代码块

脚本自身需要的依赖、仓库和扩展

apply plugin

引入插件

repositories 仓库

仓库地址(只讨论 maven 仓库),这里可引入的仓库有两类,远程中心仓库,本地仓库。

远程中心仓库主要有两种引入方式。

maven {
        url("http://maven.aliyun.com/nexus/content/groups/public/") // 阿里云远程仓库
    }
    mavenCentral()

maven 中心仓库 repo1.maven.org/maven2 速度较慢,建议使用阿里云远程镜像仓库,当在阿里云远程镜像仓库中找不到资源时采取中心仓库下载

本地仓库同样有两种方式引入。

mavenLocal()
    maven {
        url "file:///D:/.m2/repository"
    }

实际上,当你的 maven 本地仓库为 C:/Users/kyyee/.m2/repository/ 时,你才可以使用mavenLocal(),否则 gradle 是找不到本地 maven 仓库的,此时只能使用 url 文件定位。

dependencies 依赖

如果你细致读下来,相信你已经对 gradle 有了初步认识。对比 maven 构建工具的 pom.xml ,相信 build.gradle 让你眼前一亮。对于构建工具来说,依赖管理是它的灵魂。

使用gradle的依赖管理很简单,mvnrepository 搜索需要使用的jar包名,选择合适的jar包进入详情页,选择合适的版本,复制 gradle 依赖代码粘贴在 dependencies 里面。

相关推荐