什么是Gradle?
Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,目前也增加了基于Kotlin语言的kotlin-based DSL,抛弃了基于XML的各种繁琐配置。(摘自百度百科)
Gradle相比Maven主要有两点变化:
-
Maven只能全量构建,Gradle支持增量构建,所以Gradle的构建速度快于Maven
-
Maven使用xml进行配置,比较繁琐;Gradle使用Groovy或Kotlin来声明项目设置,相比xml更加简化
本文以Gradle-7.1.1版本为例
安装
1.要求
-
已安装 JDK/JRE(版本 8 或以上)
2.下载安装包
-
下载binary-only安装包
-
解压安装包到安装目录(如
D:/software/
)
3.添加环境变量
-
环境变量中添加变量
GRADLE_HOME
,值为Gradle的根目录(如D:/software/gradle-7.1.1/
) -
在环境变量
path
中添加%GRADLE_HOME%\bin
4.验证是否安装成功
在cmd中运行
gradle -v
,若正确显示版本,说明安装完成
从头新建Gradle工程
Hello World工程
1.新建build.gradle
文件,内容为:
task helloGradle {
println "Hello Gradle!"
}
2.在文件所在目录打开cmd窗口,执行:
gradle helloGradle
Java工程
1.新建build.gradle
文件,内容为:
apply plugin: 'java'
jar {
baseName = 'hello-gradle'
version = '0.0.1-SNAPSHOT'
manifest {
attributes 'Main-Class': 'hello.HelloGradle'
}
}
2.在build.gradle
同级目录新建子目录
src
└─main
└─java
└─hello
3.在hello
目录下新建两个java文件
Speaker.java
package hello;
public class Speaker {
public void say() {
System.out.println("Hello Gradle!");
}
}
HelloGradle.java
package hello;
public class HelloGradle {
public static void main(String[] args) {
new Speaker().say();
}
}
4.在build.gradle
所在目录执行gradle build
,执行成功后,在./build/libs/
下可以找到生成的文件hello-gradle-0.0.1-SNAPSHOT.jar
Maven工程转Gradle工程(以不含子模块的Spring Boot项目为例)
1.在maven项目的pom.xml
所在目录打开cmd,执行gradle init --type pom
即可生成gradle相关的配置文件(执行命令后,会弹窗Select build script DSL
让你选择DSL,下面的例子中选择了Groovy)
注:
1.如果网络是proxy上网,上面及后续步骤无法正确执行,需要在
build.gradle
所在目录添加gradle.properties
文件,内容为:# http代理设置 systemProp.http.proxyHost=【proxy地址】 systemProp.http.proxyPort=【proxy端口】 systemProp.http.proxyUser=【账号】 systemProp.http.proxyPassword=【密码】 systemProp.http.nonProxyHosts=【不需要代理的地址】 # https代理设置 systemProp.https.proxyHost=【proxy地址】 systemProp.https.proxyPort=【proxy端口】 systemProp.https.proxyUser=【账号】 systemProp.https.proxyPassword=【密码】 systemProp.http.nonProxyHosts=【不需要代理的地址】
2.如果项目中有lombok依赖,在build.gradle
中的dependencies下找到lombok的依赖,添加如下一行配置(具体version按照实际修改):
annotationProcessor 'org.projectlombok:lombok:1.18.16'
注:
若缺少此项配置,lombok将无法生效
3.在plugins下面添加(具体version按照实际修改):
id 'org.springframework.boot' version '2.4.0'
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
注:
若缺少此项配置,打出的jar包中没有主清单属性,无法执行
4.在build.gradle
所在目录打开cmd窗口,执行gradle build
编译gradle项目
5.生成的可执行jar包在./build/libs/
中,进入该目录执行java -jar xxx.jar
,正确启动项目,说明打包成功