Gradle
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
1. 基础
1.1 安装
这里可以选择版本安装
我选择的是6.9.1
安装之后解压缩,配置环境变量
环境变量目录应该是就是bin目录
D:\soft\gradle-6.9.1-all\gradle-6.9.1\bin
然后怎么查找idea需要的gradle版本呢
D:\soft1\idea\IntelliJ IDEA 2025.3.2\plugins\gradle\lib
找到idea的安装目录下的目录
cmd输入
gradle -v
如果有显示说明就成功了
新建环境变量GRALDLE_USER_HOME,必须是这个环境变量名字
路径是D:\gradle_user_home
这个就表示gradle的本地仓库了,可以和maven使用一个仓库

gradlew.bat是在Windows下执行的操作脚本,gradlew是其他操作系统下的操作脚本,执行的命令是wrapper下的文件
1.2 创建Gradle项目

第一个方式就是直接用idea来创建项目
第二个方式就是用gradle命令了
先创建一个文件夹gradle2
然后进入这个文件夹的cmd
输入
gradle init
这里是为了生成一个应用
所以选择2

第二个要你选择什么语言,第三个要你选择单应用还是多应用的模式
第四个要你选择脚本语言,我们选择groovy
第五个是测试框架
第六个是项目名字,不输入表示默认使用文件夹名字
第七个表示启动类的包路径
1.3 gradle常见指令

需要注意的是:gradle 的指令要在含有build.gradle 的目录执行。
其实不用安装gradle
你安装的idea创建的gradle项目就有插件可以执行这些命令

执行build默认会执行classes和clean这些东西
1.4 修改maven 下载源
Gradle 自带的Maven 源地址是国外的,该Maven 源在国内的访问速度是很慢的,除非使用了特别的手段。一般情况下,我们建议使用国内的第三方开放的Maven 源或企业内部自建Maven 源。

找到maven仓库,选择gradle就可以了
然后把
implementation(“io.grpc:grpc-protobuf-lite:1.78.0”)
这个东西复制到项目的
build.gradle文件里面

复制到dependencies下面
然后刷新一下应该就可以了
我们这里使用的是idea自带的gradle
我们自己的gradle呢
D:\soft\gradle-6.9.1-all\gradle-6.9.1\init.d
这里面有一个readme.txt文件
You can add .gradle (e.g. test.gradle) init scripts to this directory. Each one is executed at the start of the build.
所以我们可以在gradle 的init.d 目录下创建以.gradle 结尾的文件,.gradle 文件可以实现在build 开始之前执行,所以你可以在
这个文件配置一些你想预先加载的操作。
在init.d 文件夹创建init.gradle 文件
allprojects {
repositories {
mavenLocal()
maven { name "Alibaba" ; url "https://maven.aliyun.com/repository/public" }
maven { name "Bstek" ; url "https://nexus.bsdn.org/content/groups/public/" }
mavenCentral()
}
buildscript {
repositories {
maven { name "Alibaba" ; url 'https://maven.aliyun.com/repository/public' }
maven { name "Bstek" ; url 'https://nexus.bsdn.org/content/groups/public/' }
maven { name "M2" ; url 'https://plugins.gradle.org/m2/' }
}
}
}
repositories 就是仓库
buildscript 是构建脚本所需要的仓库
1.5 Wrapper 包装器
Gradle Wrapper 实际上就是对 Gradle 的一层包装,用于解决实际开发中可能会遇到的不同的项目需要不同版本的 Gradle
问题。例如:把自己的代码共享给其他人使用,可能出现如下情况:
- 对方电脑没有安装 gradle
- 对方电脑安装过 gradle,但是版本太旧了
这时候,我们就可以考虑使用 Gradle Wrapper 了。这也是官方建议使用 Gradle Wrapper 的原因。实际上有了 Gradle Wrapper 之后,我们本地是可以不配置 Gradle 的,下载Gradle 项目后,使用 gradle 项目自带的wrapper 操作也是可以的。
那如何使用Gradle Wrapper 呢?
项目中的gradlew、gradlew.bat脚本用的就是wrapper中规定的gradle版本。
而我们上面提到的gradle指令用的是本地gradle,所以gradle指令和gradlew指令所使用的gradle版本有可能是不一样的。
gradlew、gradlew.bat的使用方式与gradle使用方式完全一致,只不过把gradle指令换成了gradlew指令。
当然,我们也可在终端执行 gradlew 指令时,指定指定一些参数,来控制 Wrapper 的生成,比如依赖的版本等,如下:

具体操作如下所示 :
gradle wrapper --gradle-version=4.4:升级wrapper版本号,只是修改gradle.properties中wrapper版本,未实际下载
gradle wrapper --gradle-version 5.2.1 --distribution-type all :关联源码用
GradleWrapper 的执行流程:
- 当我们第一次执行 ./gradlew build 命令的时候,gradlew 会读取 gradle-wrapper.properties 文件的配置信息
- 准确的将指定版本的 gradle 下载并解压到指定的位置(GRADLE_USER_HOME目录下的wrapper/dists目录中)
- 并构建本地缓存(GRADLE_USER_HOME目录下的caches目录中),下载再使用相同版本的gradle就不用下载了4.之后执行的 ./gradlew 所有命令都是使用指定的 gradle 版本



注意:前面提到的 GRALE_USER_HOME 环境变量用于这里的Gradle Wrapper 下载的特定版本的gradle 存储目录。如果我们没有配置过GRALE_USER_HOME 环境变量,默认在当前用户家目录下的.gradle 文件夹中。
那什么时候选择使用 gradle wrapper、什么时候选择使用本地gradle?
下载别人的项目或者使用操作以前自己写的不同版本的gradle项目时:用Gradle wrapper,也即:gradlew
什么时候使用本地gradle?新建一个项目时: 使用gradle指令即可。

2. 与idea整合
2.1 Groovy 简介
在某种程度上,Groovy 可以被视为Java 的一种脚本化改良版,Groovy 也是运行在 JVM 上,它可以很好地与 Java 代码及其相关库进行交互操作。它是一种成熟的面向对象编程语言,既可以面向对象编程,又可以用作纯粹的脚本语言。大多数有效的 Java 代码也可以转换为有效的 Groovy 代码,Groovy 和 Java 语言的主要区别是:完成同样的任务所需的Groovy 代码比 Java 代码更少。其特点为:
● 功能强大,例如提供了动态类型转换、闭包和元编程(metaprogramming)支持
● 支持函数式编程,不需要main 函数
● 默认导入常用的包
● 类不支持 default 作用域,且默认作用域为public。
● Groovy 中基本类型也是对象,可以直接调用对象的方法。
● 支持DSL(Domain Specific Languages 领域特定语言)和其它简洁的语法,让代码变得易于阅读和维护。
● Groovy 是基于Java 语言的,所以完全兼容Java 语法,所以对于java 程序员学习成本较低。详细了解请参考:
http://www.groovy-lang.org/documentation.html
2.2 安装
下载地址: https://groovy.apache.org/download.html
2.3 创建groovy项目


创建groovy类型
groovy的语言和Java语言几乎一样的
2.4 groovy基本语法


这个就是一个groovy类
和java类就是一样的东西

把对应的类删掉,那么就是一个groovy脚本了
package com.ck.groovy1
def username="sss"
println(username)


运行的时候发现,两个东西一个对象,一个脚本编译出来的class文件继承的东西是不一样的
注意在一个文件中既可以定义类,也可以定义脚本,两个都有的时候,类名不能和文件名重合
groovy中使用def定义变量和属性,不建议使用具体的类型,包括返回值,也不建议写具体类型
注释就是用//
groovy中用换行作为结束,可以不用分号
默认类,方法,字段都是public类型的
类型转换:当需要时,类型之间会自动发生类型转换: 字符串(String)、基本类型(如int) 和类型的包装类 (如Integer)
类说明:如果在一个groovy 文件中没有任何类定义,它将被当做 script 来处理,也就意味着这个文件将被透明的转换为一个 Script 类型的类,这个自动转换得到的类将使用原始的 groovy 文件名作为类的名字。groovy 文件的内容被打包进run 方法,另外在新产生的类中被加入一个main 方法以进行外部执行该脚本。
3. 创建springboot项目

在build.gradle文件中的plugins导入插件
在dependencies中导入依赖
总结
更多推荐



所有评论(0)