简介
Gradle是一个基于Ant和Maven概念的项目自动化构建工具,Grandle构建脚本是使用Groovy或Kotlin DSL编写的。
官网下载
官方地址:https://gradle.org
官方提供两种下载方式:
1. Binary-only是只下载二进制源码;
2. Complete, with docs and sources是下载源码和文档。
如果有阅读文档的需求可以下载第二个,没有需要的下载Binary-only即可。
安装
解压安装包到安装目录即可。
环境变量配置
- GRADLE_HOME配置
- GRADLE_USER_HOME配置
- PATH配置
build.gradle文件介绍
// 配置gradle脚本执行时所需的依赖
buildscript {
repositories {
// 本地仓库
mavenLocal()
// 阿里云Maven远程仓库
maven { url "http://maven.aliyun.com/nexus/content/groups/public" }
// maven中央仓库
mavenCentral()
// 和maven中央仓库一样的另一个依赖管理仓库,主要是java
jcenter()
}
// 版本管理
ext {
set('springBootAdminVersion', "2.2.3")
}
// 相关依赖
dependencies {
//spring-boot插件
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootAdminVersion}")
}
}
// 定义插件及版本
plugins {
// springboot插件
id 'org.springframework.boot' version '2.2.7.RELEASE'
// 实现maven统一管理
id 'io.spring.dependency-management' version '1.0.9.RELEASE'
}
// 所有项目通用配置 包括rootProject
allprojects {
// java插件
apply plugin: 'java'
// idea插件
apply plugin: 'idea'
// 版本管理插件
apply plugin: 'io.spring.dependency-management'
// springboot插件
apply plugin: 'org.springframework.boot'
group = 'com.assuse.cobra'
version = '1.0.0-SNAPSHOT'
sourceCompatibility = '1.8'
// 定义仓库
repositories {
// 本地仓库
mavenLocal()
// 阿里云Maven远程仓库
maven { url "http://maven.aliyun.com/nexus/content/groups/public/" }
// maven中央仓库
mavenCentral()
// 和maven中央仓库一样的另一个依赖管理仓库,主要是java
jcenter()
}
// 下载gradle的源码
idea {
module {
downloadJavadoc = true
downloadSources = true
}
}
}
// 所有子项目通用配置 不包括rootProject
subprojects {
// 版本管理
ext {
set('springBootAdminVersion', "2.2.3")
set('springCloudAlibabaVersion', "2.2.1.RELEASE")
set('springCloudVersion', "Hoxton.SR5")
set('druidVersion', "1.1.20")
}
// springboot、cloud及alibaba-cloud版本管理
dependencyManagement {
// 导入maven依赖管理的bom
imports {
mavenBom "de.codecentric:spring-boot-admin-dependencies:${springBootAdminVersion}"
mavenBom "com.alibaba.cloud:spring-cloud-alibaba-dependencies:${springCloudAlibabaVersion}"
mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
}
}
/*
* 此处为所有模块的公共依赖<br/>
* 注意:此处有些依赖不在指定版本,已经由上面的dependencyManagement管理
**/
dependencies {
runtimeOnly 'mysql:mysql-connector-java'
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
implementation 'org.springframework.cloud:spring-cloud-starter-openfeign'
compile "com.alibaba:druid:${druidVersion}"
}
// 全局设置依赖
configurations {
developmentOnly
runtimeClasspath {
extendsFrom developmentOnly
}
compileOnly {
extendsFrom annotationProcessor
}
}
// 配置junit
test {
useJUnitPlatform()
}
/**
* 根据环境打包默认dev开发环境,命令:./gradlew -x test clean bootJar -Denv=dev
*/
/* def env = System.getProperty("env") ?: "dev"
processResources {
filter ReplaceTokens, tokens: [env: env]
}*/
}
setting.gradle文件介绍
// root项目
rootProject.name = 'iteam1'
// 子项目
include 'iteam2'
include 'iteam3'
// 另外一种配置方法
//include 'iteam2', ‘iteam3'
Gradle基本使用命令
1. 查看版本号
gradle -v
2. 编译打包
检查依赖并编译打包 gradle build
编译跳过测试 gradle build -x test
编译打tgz包跳过测试类 gradle releaseTarGz -x signArchives -x test
编译打debug包 gradle assembleDebug
编译打Release包 gradle assembleRelease
清理 gradle clean
最后附上使用gradle构建项目目录结构图,谢谢大家!