Java构建工具Gradle的安装和使用图文教程

 更新时间:2025年09月10日 10:23:37   作者:我是zxb  
Gradle 是一个功能强大的构建工具,支持自动化和定制化的构建过程,下面这篇文章主要介绍了Java构建工具Gradle的安装和使用的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下

Gradle简介

Gradle 是一款 Google 推出的基于JVM、通用灵活的_项目构建工具_,支持 MavenJCenter 多种第三方仓库,支持传递性依赖、废弃了繁杂的 xml 文件,转而使用简洁的、支持多种语言(如:Java、groovy等)build脚本文件官网地址:https://gradle.org

为什么学习Gradle?

  1. 构建速度更快
  2. 更现代

常用构建工具

自动构建工具对比AntMavenGradle
构建性能最高最低居中
仓库开发者自己处理maven仓库支持多种远程仓库
依赖管理ivy管理GAV坐标管理GNV坐标管理
插件支持实现方便实现较难实现发变组
遵循特定目录结构NO遵循同maven
配置文件xml文件最为繁琐xml文件代码脚本,便于编写业务逻辑
侧重点小型项目构建项目包管理大型项目构建
目前地位使用较少目前主流未来趋势

Gradle安装

1. 安装JDK

JDK至少位1.8及以上

2. 下载Gradle并配置环境变量

https://gradle.org/install/

环境变量配置:

验证

C:\Users\zxb>gradle -v

Welcome to Gradle 8.13!

Here are the highlights of this release:
 - Daemon JVM auto-provisioning
 - Enhancements for Scala plugin and JUnit testing
 - Improvements for build authors and plugin developers

For more details see https://docs.gradle.org/8.13/release-notes.html


------------------------------------------------------------
Gradle 8.13
------------------------------------------------------------

Build time:    2025-02-25 09:22:14 UTC
Revision:      073314332697ba45c16c0a0ce1891fa6794179ff

Kotlin:        2.0.21
Groovy:        3.0.22
Ant:           Apache Ant(TM) version 1.10.15 compiled on August 25 2024
Launcher JVM:  23.0.1 (Oracle Corporation 23.0.1+11-39)
Daemon JVM:    F:\env\Java\openjdk-23.0.1 (no JDK specified, using current Java home)
OS:            Windows 10 10.0 amd64

Gradle中的常用命令

常用命令说明:

常用gradle指令作用`
gradle clean清空build目录
gradle classes编译业务代码和配置文件
gradle test编译测试代码,生成测试报告
gradle build构建项目
gradle build -x test跳过测试构建
需要注意的是:gradle 的指令要在含有 build.gradle 的目录执行。

修改maven下载源

Gradle自带的 `maven` 源地址,该 Maven 源在国内的访问速度是很慢的,除非使用了特别的手段。一般情况下,建议使用第三方或者企业内部的maven源

认识init.d文件夹

我们可以在 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/' }
	}
}

测试需要等待正式启动项目后

拓展1:启用init.gradle的方法

1. 在命令行指定文件,例如:`gradle --init-script yourdir/init.gradle -q taskName` 你可以多次输入此指令来指定多个init文件
2. 把init.gradle文件放到 `USER_HOME/.gradle` 目录下
3. 把以.gradle结尾的问价放到 `USER_HOME/.gradle/init.d/` 目录下
4. 把以.gradle结尾的文件放到 `GRADLE_HOME/init.d/` 目录下

> 以上方法均可,gradle会安装1-4的顺序执行这些脚本。

拓展2:仓库地址说明

  • mavenLoacal():指定使用maven本地仓库,而本地仓库在配置maven时settings文件指定仓库位置。
    • E:\repository,gradle就会查jar包顺序如下:
      1. USER_HOME/.m2/settings.xml
      2. M2_HOME/conf/setting.xml
      3. USER_HOME/.m2/repository
  • maven { url 地址 }:指定maven仓库,一般用私有仓库地址或者其它的第三方库
  • mavenCentral():这是Maven的中央仓库,无需配置,直接声明就能使用
  • jcenter():JCenter中央仓库,实际也是用的maven搭建的,但相比maven仓库更友好,通过CDN分发,并且支持https访问,在新版本中已经废除了,替换为mavenCentral()

gradle可以通过指定仓库地址为本地maven仓库地址和远程仓库地址相结合的方式,避免每次都从远程仓库下载依赖库。

但是这种方式也有一定问题,如果本地maven仓库中有这个依赖,就会直接加载本地依赖,如果本地仓库没有该依赖,那么还是会从远程下载。但是下载的jar不是层次在本地maven仓库中,而是放在自己的缓存文件中,默认在 USER_HOME/.gradle/caches

访问顺序图如下:

当然,你也可以通过配置 GRADLE_USER_HOME 环境变量,则会放在 GRADLE_USER_HOME/caches 目录。但是这样是无法将 gradle caches指向 maven repository。

进阶技巧:优化 Gradle 体验

1. 加速依赖下载(换国内镜像)

编辑用户目录下的 ~/.gradle/init.gradle 文件(无则创建 ),添加阿里云镜像:

allprojects {
    repositories {
        maven { url 'https://maven.aliyun.com/repository/public' }
        mavenCentral()
    }
}

让依赖下载更快,解决 Maven 中央仓库访问慢问题。

2. 并行构建提升速度

执行构建时添加 --parallel 参数:

gradle build --parallel

利用多线程并行执行任务(如多模块项目编译 ),缩短构建时间。

3. 集成 IDE 高效开发

  • IntelliJ IDEA/Android Studio
    打开 Gradle 项目时,IDE 自动识别 build.gradle ,点击 “Sync” 按钮同步依赖,也可通过右侧 Gradle 面板执行任务。
  • VS Code
    安装 Gradle for Java 插件,通过插件面板或终端执行 Gradle 命令,实现代码智能提示与构建联动。

总结

到此这篇关于Java构建工具Gradle的安装和使用的文章就介绍到这了,更多相关Java Gradle安装使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java在读取文件内容的时候,如何判断出空白行的操作

    Java在读取文件内容的时候,如何判断出空白行的操作

    这篇文章主要介绍了Java在读取文件内容的时候,如何判断出空白行的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • 在Struts2中的结果集类型

    在Struts2中的结果集类型

    本篇文章,小编为大家介绍关于在Struts2中的结果集类型,有需要的朋友可以参考一下
    2013-04-04
  • java实现dijkstra最短路径寻路算法

    java实现dijkstra最短路径寻路算法

    这篇文章主要为大家详细介绍了java实现dijkstra最短路径寻路算法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01
  • Java基础之删除文本文件中特定行的内容

    Java基础之删除文本文件中特定行的内容

    这篇文章主要介绍了Java基础之删除文本文件中特定行的内容,文中有非常详细的代码示例,对正在学习java基础的小伙伴们有非常好的帮助,需要的朋友可以参考下
    2021-04-04
  • Java String保存字符串的机制

    Java String保存字符串的机制

    Java中字符串以什么格式来存储?Java 中的 Unicode 字符串会按照 Latin1或者 UTF16 的编码格式保存在 String 中,本文就详细的介绍了一下,感兴趣的可以了解一下
    2021-05-05
  • Java -jar命令如何运行外部依赖JAR包

    Java -jar命令如何运行外部依赖JAR包

    在Java应用部署中,java -jar命令是启动可执行JAR包的标准方式,但当应用需要依赖外部JAR文件时,直接使用java -jar会面临类加载困境,本文就来聊聊该如何解决吧
    2025-06-06
  • SpringBoot+Mybatis-plus实现分页查询的示例代码

    SpringBoot+Mybatis-plus实现分页查询的示例代码

    本文主要介绍了SpringBoot+Mybatis-plus实现分页查询的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-02-02
  • java面试常见模式问题---代理模式

    java面试常见模式问题---代理模式

    代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息
    2021-06-06
  • Spring启动过程源码分析及简介

    Spring启动过程源码分析及简介

    本文是通过AnnotationConfigApplicationContext读取配置类来一步一步去了解Spring的启动过程。本文重点给大家介绍Spring启动过程源码分析及基本概念,感兴趣的朋友一起看看吧
    2021-10-10
  • Springboot+AOP实现时间参数格式转换

    Springboot+AOP实现时间参数格式转换

    前端传过来的时间参数,后端可以自定义时间格式转化使用,这样想转成什么就转成什么。本文将利用自定义注解AOP实现时间参数格式转换,感兴趣的可以了解一下
    2022-04-04

最新评论