Gradle 基础使用教程

相关站点

Gradle 知识点

  • 构建脚本的编写
  • 创建自定义构建任务
  • 创建自定义插件
  • 构建生命周期
  • 依赖管理
  • 版本冲突解决
  • 多项目构建
  • 自动化测试
  • 项目打包发布

Gradle 子模块依赖父模块中的资源文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// 方法一,在子模块的build.gradle中,指定父模块的资源文件
sourceSets {
main {
resources {
// 指定资源文件目录,若存在同名资源文件,左边声明的默认会被右边声明的所覆盖
srcDirs = ['src/main/resources', '../common/build/resources/main']
}
}
}

// 方法二,在子模块的build.gradle中,指定父模块的资源文件
processResources {
// 指定资源文件目录,若存在同名资源文件,先声明的默认会被后声明的所覆盖
from('src/main/resources')
from('../common/build/resources/main')
}

Gradle 编译时,子模块依赖父模块的 Jar 包类

1
2
3
4
// 在父模块的build.gradle中,添加以下内容
jar {
enabled = true
}

Gradle 打成 Jar 包后包含所有依赖

1
2
3
4
5
6
7
8
9
jar {
manifest {
attributes(
"Manifest-Version": 1.0,
"Main-Class": "com.zhiduoduo.proxy.ProxyApplication"
)
}
from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
}

Gradle 中的 apply plugin 与 plugins 的区别

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// Gradle 新版本的写法如下:
plugins {
id 'org.springframework.boot' version '2.1.0.RELEASE'
}

// Gradle 2.0及更旧版本的写法如下:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}

apply plugin: 'org.springframework.boot'

Gradle 添加 lombok 依赖

1
2
3
4
5
6
dependencies {
compileOnly 'org.projectlombok:lombok:1.18.6'
testCompileOnly 'org.projectlombok:lombok:1.18.6'
annotationProcessor 'org.projectlombok:lombok:1.18.6'
testAnnotationProcessor 'org.projectlombok:lombok:1.18.6'
}

Gradle 编译时取消所有测试

1
2
3
test {
exclude '**/*'
}