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配置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 在Struts2中如何将父类属性序列化为JSON格式的解决方法

    在Struts2中如何将父类属性序列化为JSON格式的解决方法

    本篇文章,小编将为大家介绍关于在Struts2中如何将父类属性序列化为JSON格式的解决方法,有需要的朋友可以参考一下
    2013-04-04
  • java synchronized同步静态方法和同步非静态方法的异同

    java synchronized同步静态方法和同步非静态方法的异同

    这篇文章主要介绍了java synchronized同步静态方法和同步非静态方法的异同的相关资料,需要的朋友可以参考下
    2017-01-01
  • 使用nexus3.X上传本地jar包并且通过pom读取的解决方案(全网最新)

    使用nexus3.X上传本地jar包并且通过pom读取的解决方案(全网最新)

    这篇文章主要介绍了使用nexus3.X上传本地jar包并且通过pom读取的解决方案(全网最新),本文内容有点长,结合图文实例给大家讲解的非常详细,需要的朋友可以参考下
    2023-11-11
  • JAVA三种异常处理机制的具体使用

    JAVA三种异常处理机制的具体使用

    异常是程序在编译或执行的过程中可能出现的问题,本文主要介绍了JAVA三种异常处理机制的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-06-06
  • Eclipse中安装反编译工具Fernflower的方法(Enhanced Class Decompiler)

    Eclipse中安装反编译工具Fernflower的方法(Enhanced Class Decompiler)

    这篇文章主要介绍了Eclipse中安装反编译工具Fernflower的方法(Enhanced Class Decompiler),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • java 获取request中的请求参数代码详解

    java 获取request中的请求参数代码详解

    这篇文章主要介绍了java 获取request中的请求参数的方法,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-05-05
  • SpringBoot2.7.14整合redis7的详细过程

    SpringBoot2.7.14整合redis7的详细过程

    这篇文章主要介绍了SpringBoot2.7.14整合redis7的详细过程,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2023-10-10
  • Java中的对象流总结(必看篇)

    Java中的对象流总结(必看篇)

    下面小编就为大家带来一篇Java中的对象流总结(必看篇)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • Spring中的@Async原理分析

    Spring中的@Async原理分析

    这篇文章主要介绍了Spring中的@Async原理分析,自定义new ThreadPoolExecutor并调用invokeAll等进行并发编程,后面发现只要在方法上添加@Async注解,并使用@EnableAsync进行开启默认会使用SimpleAsyncTaskExecutor类型,需要的朋友可以参考下
    2024-01-01
  • 浅谈抛出异常和捕获异常的一些区别

    浅谈抛出异常和捕获异常的一些区别

    这篇文章主要介绍了抛出异常和捕获异常的一些区别,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06

最新评论