初学用gradle搭建springboot项目

安装gradle插件

安装完成后,在开发工具中新建一个gradle项目;项目位置

编辑配置文件build.gradle

作用相当于maven的pom

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45

/*依赖的插件*/
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'spring-boot'
/*jdk版本*/
sourceCompatibility = 1.8
/*打包配置*/
version = '1.0'
jar {
manifest {
attributes 'Implementation-Title': 'Gradle Quickstart',
'Implementation-Version': version
}
}

/*第三方库来源*/
repositories {
mavenCentral()
}


/*gradle 自身需要的依赖放在这里面,插件 就需要放在这里面*/
buildscript {
ext {
springBootVersion = "1.2.3.RELEASE"
}
repositories {
jcenter() /*是一个插件仓库,导入的插件将会在仓库中寻找并下载*/
}
dependencies {
/*必须配置,不然没法用springboot插件,脚本自身用的依赖都放到这里*/
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")

}

}

/*声明依赖*/
dependencies {
/*这里是项目需要的依赖,也是有依赖范围的*/
compile 'org.springframework.boot:spring-boot:1.5.4.RELEASE'
compile("org.springframework.boot:spring-boot-starter-web:1.5.4.RELEASE")
compile 'org.springframework.boot:spring-boot-autoconfigure:1.5.4.RELEASE'
}

spring-boot-gradle-plugin插件的task


分别用于打包和启动

task讲解

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/*自定义的task,后面自定义构建玩一下,相当于maven里面的插件goal*/
task testtask {
println '哈哈哈哈'

/*每个task都有着两个方法*/
doLast { println 'last'}

doFirst { println 'first'}
}

/*task之间的依赖*/
task testtask1(dependsOn:testtask) {
println '哈哈哈哈1'
}

/* 覆盖java插件内置的task*/
clean {

println '测试clean,覆盖默认'

}

/*为task加组别和描述*/
task addTask(group:'测试组',description:'task的描述'){

}

查看task 命令

查看所有的taks
gradle -q tasks

查看所有的taks,一缩进方式显示依赖
gradle -q tasks –all

gradle 执行顺序

1.初始化阶段,会去读取根工程中setting.gradle中的include信息,决定有哪几个工程加入构建,
创建project实例,比如下面有三个工程: include ‘:app’, ‘:lib1’, ‘:lib2

2.配置阶段,会去执行所有工程的build.gradle脚本,配置project对象,一个对象由多个任务组成,
此阶段也会去创建、配置task及相关信息。

3.运行阶段,根据gradle命令传递过来的task名称,执行相关依赖任务

gradle task 命令执行任何一个task或者后面没有task,此时执行默认task,都会经历1 2 步骤,最后才执行相应的task中的action