文章目录
- 系列文章目录
- gradle介绍
- 一、Gradle是什么?
- 二、安装与使用
- 1.安装gradle
- 2.使用gradle
- 2.1常用命令
- 2.2Idea创建gradle工程
- 2.3使用gradle
- 2.4父子工程
- 总结
gradle介绍
本文主要介绍gradle及基本用法
一、Gradle是什么?
Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具,GSL提供了灵活的项目布局。
gradle座右铭:让不可能变成可能,让可能变得简单,让简单变得优雅。
gradle特征集:
- 具有表达式语言和强大的API
- 灵活的约定
- 强大的依赖管理
- 可扩展的构建
- 毫不费力的扩展
- 社区驱动与公司支持
- 和其他构建工具集成
- gradle就是groovy
二、安装与使用
1.安装gradle
在https://github.com/gradle/gradle/tags 下载自己想要版本
1、解压在D:\work\
2、设置环境变量
GRADLE_HOME=D:/work/gradle-6.1.1
path加上%GRADLE_HOME%\bin
3、测试是否安装成功
2.使用gradle
2.1常用命令
常见任务执行命令:
命令 | 作用 |
gradle -v | 查看版本 |
gradle -q task名称 | 执行task |
gradle -q tasks | 列出所有task |
Gradle 命令行工具用法:
Gradle [Option…] [Tasks…]
可以看出Gradle CLI就是告诉Gradle如何执行预定义的任务的工具,是面向Task的界面。
其中Task大体上分为两种:
1.探索类Task,即帮助Task;
2.构建设置Task,这种Task完成构建的预设置;
3.构建Task,完成构建的Task;
option可以完成配置输入的工作,即构建的配置信息可以通过CLI提供(当然也可以写成配置文件)。其中不需要提供值得option可以被组合使用,例如 -i -q <=> -iq
下面将分别介绍tasks 和 options
选项 | 含义 |
dependencies | 列出项目的依赖,包括传递性依赖。 |
dependencyInsight | 解释在依赖图中一个依赖如何被选择,为什么会被选择。检查一个特定的依赖,需要提供–dependency参数。检查compile以来以外的依赖时使用 --configuration参数。使用例子:dependencyInsight --denpendency apache-commons |
help | 显示Gradle CLI最基本的用法,如果运行gradle命令而没有指定task,则help 被自动执行。 |
projects | 显示在多项目构架中的所有子项目,单项目构建没有子项目。 |
properties | 列出项目中所有可用的属性,有些属性是由Gradle的project对象提供的。other properties是由用户自定义的属性,可能来自于属性文件、属性命令行选项、直接在构建脚本中定义。 |
tasks | 显示项目中所有可运行的task,包括他们的描述信息。项目的插件也会提供额外的task。可以使用 --all 来显示task的附加信息。 |
buildEnviroment | 显示root project的构建脚本的依赖。 |
components | 显示该项目的所有的component |
dependentComponents | 显示该项目所有components的dependent components |
model | 显示项目配置的model |
2.2Idea创建gradle工程
java工程
build.gradle:
plugins {
id 'java'
}
group 'org.example'
version '1.0-SNAPSHOT'
repositories {
mavenCentral()
}
dependencies {
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.7.0'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.7.0'
}
test {
useJUnitPlatform()
}
plugins {
id ‘java’
}
id ‘java’ java工程 application 插件可简化绑定运行的任务repositories{
}
添加项目下载依赖包的库dependencies{
}
添加项目依赖的jar
gradle-wrapper.properties:
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.8-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl gradle下载地址
可以写成 file:///D:/work/gradle-6.8-bin.zip
2.3使用gradle
2.4父子工程
创建父级项目,全取消,不勾选。
成功如下图,只有setting.gradle和build.gradle两个文件
创建子工程
修改parent工程build.gradle:
buildscript {
ext {
springBootVersion = '2.0.0.RELEASE'
}
repositories {
mavenCentral()
jcenter()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
allprojects {
group 'com.demo.project'
version '1.0-SNAPSHOT'
}
subprojects {
apply plugin: 'java'
apply plugin: 'idea'
apply plugin: "io.spring.dependency-management"
sourceCompatibility = 1.8
targetCompatibility = 1.8
repositories {
mavenLocal()
mavenCentral()
jcenter()
}
dependencies{
//这里如果配置了jar包依赖,所有子项目共享,使用了gradle的依赖传递特性。
testCompile group: 'junit', name: 'junit', version: '4.12'
}
}
总结
本文主要介绍gradle是什么及特征,gradle常用命令、java工程构建、父子工程构建。