IDEA 中配置 Gradle 和安装使用教程

 更新时间:2023年10月28日 14:44:17   作者:给自己一个 smile  
Gradle本身是基于Groovy脚本语言进行构建的,并通过 Domain Specific Language(DSL 语言)进行描述和控制构建逻辑,本文重介绍了IDEA 中配置 Gradle 和使用,需要的朋友可以参考下

概述

一直想学习 Spring 源码,因最近比较空闲,从官网下载 Spring 源码(Spring 是 Gradle构建项目),下面这篇文章总结一下 Gradle 安装和 IDEA 中使用。

Gradle 优点

  • 按约定声明构建和建设;
  • 强大的支持多工程的构建;
  • 强大的依赖管理(基于Apache Ivy),提供最大的便利去构建工程;
  • 全力支持已有的 Maven 或者Ivy仓库基础建设;
  • 支持传递性依赖管理,在不需要远程仓库和pom.xml和ivy配置文件的前提下;
  • 基于groovy脚本构建,其build脚本使用groovy语言编写;
  • 具有广泛的领域模型支持构建;
  • 深度 API;
  • 易迁移;
  • 自由和开放源码,Gradle 是一个开源项目,基于 ASL 许可。

Windows 环境 IDEA 配置

Gradle 配置系统环境变量

为了使用 gradle 命令,在 idea 里使用命令,如编译命令 gradle build

下载

gradle安装包下载地址

解压到 D:\javaTools\gradle-5.6.4 如图

配置环境变量

环境变量配置

  • 新建系统环境 GRADLE_HOME,值为D:\javaTools\gradle-5.6.4
  • 找到path变量,后面添加 %GRADLE_HOME%\bin 测试

在 cmd 命令里输入gradle -v如果能打出版本号,说明环境配置完毕。

IDEA 配置

在 D 盘新建文件 D:/home/gradle/repository(使用 dos 命令 mkdir .gradle ),做为 gradle下载的jar包仓库主目录,默认在C:\Users\Administrator\.gradle
打开 file->setting->Build,Execution,Deployment->Gradle,修改如下:

这里写图片说明

  • Gradle home:指定了gradle文件目录
  • Service directory path:指定了gradle工作主目录

构建命令

清理命令

gradle clean

构建打包命令

gradle clean build

编译时跳过测试,使用 -x,-x 参数用来排除不需要执行的任务

gradle clean build -x test

创建缓存依赖

执行命令 gradle clean build --refresh-dependencies 或删除 .gradle/caches 目录,构建的时候它会下载所有依赖并加入到缓存中。

阿里云镜像

buildscript {
    repositories {
        maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
        maven{ url 'http://maven.aliyun.com/nexus/content/repositories/jcenter'}
    }

参考gradle配置国内镜像

gradle.build 构建脚本

build.gradle 是 Gradle 默认的构建脚本文件,执行 Gradle 命令的时候,会默认加载当前目录下的build.gradle脚本文件。
gradle.build脚本如下:

buildScript {
    repositories {
         mavenCentral()
    }
}
 
repositories {
     mavenCentral()
}

buildScript 里的 repositories 是这个脚本需要的依赖库,与项目无关,在执行脚本时,会从这个库里 download 对应的 jar 和插件。第二个 repositories 是项目里需要依赖的jar的库。
查看项目已定义的所有 task 以及含义

命令

gradle tasks

比如结果如下

  • assemble: 编译
  •     build:编译并执行测试
  •     clean:删除build目录
  •     jar: 生成jar包
  •     test:执行单元测试

maven 项目转换为gradle项目

根目录执行

gradle init --type pom

上面的命令会根据 pom 文件自动生成 gradle 项目所需的文件和配置,然后以 gradle 项目重新导入即可。

settings.gradle 配置

是模块 Module 配置文件,大多数 setting.gradle 的作用是为了配置子工程,根目录下的settings.gradle 脚本文件是针对 module 的全局配置,它的作用域所包含的所有 module 是通过settings.gradle 来配置。settings.gradle 用于创建多Project的Gradle项目。Project在IDEA里对应Module模块。
例如配置 module 名 rootProject.name = 'SpringStudy'

参考文章

1. 在IDEA里gradle配置和使用
2. 参考你真的了解 Gradle 吗?

到此这篇关于IDEA 中配置 Gradle 和使用的文章就介绍到这了,更多相关idea gradle配置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 关于Java虚拟机HotSpot

    关于Java虚拟机HotSpot

    这篇文章主要介绍了关于Java虚拟机HotSpot,在Java类中的一些方法会被由C/C++编写的HotSpot虚拟机的C/C++函数调用,不过由于Java方法与C/C++函数的调用约定不同,所以并不能直接调用,需要JavaCalls::call()这个函数辅助调用,下面我们来看看文章对内容的具体介绍
    2021-11-11
  • Java实现TopK问题的方法

    Java实现TopK问题的方法

    这篇文章主要介绍了Java实现TopK问题的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • Java TokenProcessor令牌校验工具类

    Java TokenProcessor令牌校验工具类

    这篇文章主要介绍了TokenProcessor令牌校验工具类 ,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-03-03
  • SpringBoot+Redis实现消息的发布与订阅的示例代码

    SpringBoot+Redis实现消息的发布与订阅的示例代码

    本文主要介绍了SpringBoot+Redis实现消息的发布与订阅,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • 关于@OnetoMany关系映射的排序问题,使用注解@OrderBy

    关于@OnetoMany关系映射的排序问题,使用注解@OrderBy

    这篇文章主要介绍了关于@OnetoMany关系映射的排序问题,使用注解@OrderBy,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • Java实现插入排序,希尔排序和归并排序

    Java实现插入排序,希尔排序和归并排序

    这篇文章主要为大家详细介绍了插入排序,希尔排序和归并排序的多种语言的实现(JavaScript、Python、Go语言、Java),感兴趣的小伙伴可以了解一下
    2022-12-12
  • git stash 和unstash的使用操作,git unstash failed

    git stash 和unstash的使用操作,git unstash failed

    这篇文章主要介绍了git stash 和unstash的使用操作,git unstash failed,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • springcloud结合bytetcc实现数据强一致性原理解析

    springcloud结合bytetcc实现数据强一致性原理解析

    这篇文章主要介绍了springcloud结合bytetcc实现数据强一致性原理解析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • IDEA不能生成SerialVersionUID,alt+enter不提示没有效果问题

    IDEA不能生成SerialVersionUID,alt+enter不提示没有效果问题

    文章介绍了在使用IntelliJ IDEA时,通过安装AutoFillingJavaCallArguments插件并导入Serializable接口后,遇到无法自动生成序列ID的问题,解决方法是在设置中搜索serial,勾选“不带'serialVersionUID'的可序列化类”选项
    2025-01-01
  • java实现token无感刷新+处理并发的后端方案

    java实现token无感刷新+处理并发的后端方案

    在Web应用中,Token用于身份验证和会话管理,但当Token过期时,可能会导致用户在提交表单或进行操作时突然被重定向到登录页面,本文就来介绍一下java实现token无感刷新+处理并发的后端方案,感兴趣的可以了解一下
    2024-11-11

最新评论