当前位置: 首页 > news >正文

Gradle的安装和使用

一、Gradle 的安装

1. 安装前提

  • 确保已安装 Java JDK(推荐 JDK 8 及以上)。
  • 配置 Java 环境变量,使得可以通过命令行使用 javajavac
2. 安装 Gradle

可以从 Gradle 官网 下载适合操作系统的版本。下载 .zip 文件后,按以下步骤操作:

  1. 解压 Gradle 文件
    将下载的文件解压到本地目录,如:C:\Gradle

  2. 配置环境变量
    在系统环境变量中添加 GRADLE_HOME 变量,指向 Gradle 的解压目录。同时将 Gradle 的 bin 目录添加到 PATH 中。

    • Windows: 打开“环境变量”窗口,新增 GRADLE_HOME 环境变量,并设置其路径为 Gradle 解压目录。然后在 Path 中添加 %GRADLE_HOME%\bin

    • macOS / Linux: 可以将以下命令添加到 ~/.bash_profile~/.zshrc 中:

      export GRADLE_HOME=/path/to/gradle
      export PATH=$PATH:$GRADLE_HOME/bin
      
  3. 验证安装
    打开命令行工具,输入 gradle -v,如果出现 Gradle 版本信息,说明安装成功。


二、Gradle 的基本使用

1. 项目初始化

创建新项目时,可以使用 init 命令快速生成基本项目结构:

gradle init
gradle init --type java-application

初始化 Java 项目:使用 gradle init 命令创建一个基本的 Gradle 项目。

  • 该命令会在当前目录创建一个 Java 项目结构。
  • --type java-application 参数指定了项目类型为 Java 应用程序。
  • 你还可以选择 java-library 来创建一个库项目。
  1. Gradle 初始化选项gradle init 运行时会提示选择配置项(例如源代码目录、测试目录等)。你可以根据项目需求选择合适的选项,也可以直接按 Enter 使用默认设置。

项目结构和配置文件

执行完初始化命令后,项目的文件夹结构通常如下:

my-gradle-project/
├── build.gradle            # Gradle构建配置文件
├── settings.gradle         # 项目设置文件
└── src/├── main/│   ├── java/│   │   └── App.java    # 示例Java类│   └── resources/└── test/├── java/│   └── AppTest.java # 示例测试类└── resources/

配置 build.gradle 文件

build.gradle 文件中可以进行项目配置。对于一个简单的 Java 项目,build.gradle 文件内容可能如下:

plugins {id 'java'id 'application'
}group = 'com.example'
version = '1.0.0'repositories {mavenCentral()
}dependencies {// 添加项目依赖implementation 'com.google.guava:guava:31.0.1-jre'testImplementation 'org.junit.jupiter:junit-jupiter:5.8.1'
}application {mainClass = 'com.example.App' // 设置主类,替换为你的主类
}test {useJUnitPlatform()
}
  • plugins:添加 javaapplication 插件,支持 Java 编译和运行。
  • repositories:指定依赖库的来源,例如 Maven Central。
  • dependencies:定义项目的依赖包。
  • application:配置项目的主类(例如 com.example.App)。
  • test:指定使用 JUnit 平台运行测试。

在 IntelliJ IDEA 中导入项目

  1. 打开 IntelliJ IDEA,选择 File > Open
  2. 选择你创建的项目目录,点击 Open
  3. IDEA 会自动检测到 build.gradle 文件,提示是否要使用 Gradle 构建项目。选择 Import from Gradle
  4. 完成导入后,你可以在 IDEA 中查看项目结构、运行代码和测试。
3. 常用命令
  • 构建项目

    gradle build
    gradle build -x test 
    

    该命令会编译源码、运行测试、打包为 JAR 文件等。

✨build.gradle 中配置 Maven 源

在 Gradle 项目中,如果你希望使用国内的 Maven 源来加速依赖下载,可以通过配置 repositories 块来添加国内的 Maven 源。 imit.d 文件夹通常与 Gradle 的 Maven 代理设置相关,在 build.gradle 中配置 Maven 源以提高访问速度。

使用国内 Maven 源 环境变量

M2_HOME maven地址
GRADLE_USER_HOME 本地仓库地址

在gradle的安装目录下init.d ->init.gradle

build.gradle 文件中,可以添加以下代码来使用国内的 Maven 源。以下是几个常用的国内 Maven 源示例:

allprojects {repositories { mavenLocal() maven { name "Alibaba" ; url "https://maven.aliyun.com/repository/public" }maven { name "Bstek" ; url "https://nexus.bsdn.org/content/groups/public/" }maven {url "https://mirrors.tuna.tsinghua.edu.cn/git/mirrors/maven/" // 清华大学}maven {url "https://repo.huaweicloud.com/repository/maven/" // 华为云}mavenCentral() // 可选,如果你还想保留中央仓库mavenCentral()}buildscript {repositories { maven { name "Bstek" ; url 'https://nexus.bsdn.org/content/groups/public/' } maven { name "M2" ; url 'https://plugins.gradle.org/m2/' }maven { name "Alibaba" ; url 'https://maven.aliyun.com/repository/public' }}}
}

Gradle 的 imit.d 文件夹

imit.d 可能是某些组织或公司内部的特定配置文件夹,用于存放 Maven 仓库配置。具体的配置内容可能因环境而异。常见的用途包括:

  • 代理配置:在企业内部网络中,通过配置 Maven 代理服务器来加速外部依赖的下载。
  • 自建 Maven 仓库:如果公司有自建的 Maven 仓库,可能会在这个目录下配置相关的仓库信息。
  • 缓存管理:某些公司会在此文件夹中管理依赖的缓存,确保构建过程中的稳定性和一致性。

如何配置和使用

如果你确实需要使用 imit.d 文件夹中的配置,以下是一些步骤:

  1. 查看配置文件:打开 imit.d 文件夹,检查其中是否有 settings.xml 或其他 Maven 配置文件。

  2. 配置 Maven 仓库:在 settings.xml 中,可以设置镜像、代理和本地仓库等。

    示例 settings.xml 片段:

    <mirrors><mirror><id>aliyun-maven</id><mirrorOf>*</mirrorOf><url>https://maven.aliyun.com/repository/public</url></mirror>
    </mirrors>
    
  3. 在 Gradle 中使用:确保你的 Gradle 项目能够读取到该配置。如果你的 Gradle 构建脚本依赖于 Maven 配置,Gradle 会自动查找 ~/.m2/settings.xml

验证配置

完成上述配置后,可以运行以下命令来验证依赖下载是否使用了新的源:

gradle build --info

该命令会显示详细的构建信息,包括所使用的 Maven 源地址。如果使用的是国内源,下载速度应该会有明显改善。

  • 编译源码

    gradle compileJava
    
  • 运行测试

    gradle test
    
  • 清理构建

    gradle clean
    

    清理构建目录 build/,用于清除旧的构建结果。

  • 运行应用(需要添加 application 插件):

    gradle run
    

    配合 application 插件,可以直接运行 Java 应用程序。

4. 自定义任务

可以在 build.gradle 中定义自定义任务,以实现自动化需求。

task hello {doLast {println 'Hello, Gradle!'}
}

执行命令 gradle hello,输出 Hello, Gradle!

5. 多模块项目

Gradle 支持多模块项目,可以在根目录的 settings.gradle 中定义子项目:

include 'moduleA', 'moduleB'

每个子模块拥有自己的 build.gradle 文件,通过 settings.gradle 中的配置将各模块关联起来。


三、Gradle 的进阶使用

  • 设置构建缓存:使用缓存可以加快构建速度,通常只需要添加以下代码:

    buildCache {local {enabled = true}
    }
    
  • 配置并行构建:在多模块项目中,可以启用并行构建来加速:

    gradle build --parallel
    
  • 使用依赖管理:Gradle 提供 implementationapi 等关键字区分依赖的作用域,以更灵活地管理项目依赖。


四、常见问题

  1. Gradle 版本不兼容
    如果项目使用了特定版本的 Gradle,可能会遇到插件不兼容问题。此时可以使用 Gradle Wrapper 来确保项目使用正确的 Gradle 版本。

  2. 依赖冲突
    当项目依赖不同版本的同一个库时,可能会引发冲突。可以使用 dependencyInsight 任务来分析并解决依赖冲突。

  3. 构建缓存失效
    如果频繁修改构建脚本,可能会导致缓存失效,影响构建速度。可以检查缓存策略并优化构建脚本以减少不必要的变动。


在使用 GradleIntelliJ IDEASpring BootJDK 时,版本的兼容性非常重要,以确保项目可以顺利构建和运行。以下是这些工具和框架在版本上的兼容性建议:

1. Gradle 和 JDK 的兼容性

  • Gradle 的版本对 JDK 有严格的兼容性要求,使用不兼容的版本可能会导致构建失败或运行异常。以下是一些常见的兼容性建议:

    Gradle 版本JDK 版本
    Gradle 7.xJDK 8 - 19
    Gradle 8.xJDK 11 - 21(推荐 JDK 17)
    • Gradle 7.x 可以运行在 JDK 8 及以上的版本,但建议使用 JDK 11 或更高版本以获得最佳兼容性和性能。
    • Gradle 8.x 支持 JDK 11 到 JDK 21,且更推荐使用 LTS 版本 JDK 17。
    • JDK 8 和 JDK 17 是目前较为稳定的选择,且广泛兼容。

2. Spring Boot 与 JDK 的兼容性

  • Spring Boot 也有特定的 JDK 版本兼容要求,以确保 Spring 框架的特性和性能能够充分发挥。

    Spring Boot 版本推荐 JDK 版本
    Spring Boot 2.5.xJDK 8 - 16
    Spring Boot 2.6.xJDK 8 - 17
    Spring Boot 2.7.xJDK 8 - 17
    Spring Boot 3.xJDK 17+
    • Spring Boot 2.x 系列兼容 JDK 8 以上版本,但从 2.5 版本开始引入了对 JDK 16 的支持。2.6 和 2.7 都推荐使用 JDK 17。
    • Spring Boot 3.x 明确要求使用 JDK 17 以上版本,这是因为 Spring Boot 3.x 依赖 Jakarta EE API,且不再支持低于 JDK 17 的环境。

3. IntelliJ IDEA 对 Gradle、JDK 和 Spring Boot 的支持

  • IntelliJ IDEA 通常支持最新的 Gradle、JDK 和 Spring Boot 版本,但版本兼容性取决于你使用的 IDEA 版本(社区版或旗舰版)。

    IntelliJ IDEA 版本支持的 JDK 版本Gradle 支持Spring Boot 支持
    IDEA 2021.x 及以前JDK 8 - 16Gradle 5.x - 7.xSpring Boot 2.x
    IDEA 2022.xJDK 8 - 17Gradle 6.x - 8.xSpring Boot 2.x 和 3.x
    IDEA 2023.x 及更新版本JDK 11 - 21Gradle 7.x - 8.xSpring Boot 3.x
    • IntelliJ IDEA 2022.x 及以上版本完全支持 JDK 17,也可以运行最新的 Spring Boot 3.x 和 Gradle 8.x。
    • IDEA 社区版和旗舰版均支持 Spring Boot 开发,但旗舰版对 Spring 框架的支持更全面,比如提供 Spring Boot DevTools、内置配置文件支持等。

4. 推荐的组合和建议

根据最新兼容性和稳定性,可以推荐以下几个组合:

  • 组合 1:JDK 17 + Gradle 7.6 + Spring Boot 2.7.x

    • 适合需要长期支持的项目,JDK 17 是 LTS 版本,Spring Boot 2.7.x 也较为成熟稳定,且拥有广泛的社区支持。
  • 组合 2:JDK 17 + Gradle 8.x + Spring Boot 3.x

    • 面向最新的 Spring Boot 特性及 Jakarta EE 的支持,适合新项目或者逐步迁移到 Spring Boot 3.x 的项目。
  • 组合 3:JDK 20 + Gradle 8.x + Spring Boot 3.x

    • JDK 20 是一个非 LTS 的较新版本,适合尝试新特性或实验性项目,但不推荐用于生产环境。

5. 注意事项

  • 确保 Gradle Wrapper:建议在项目中使用 Gradle Wrapper(gradlew),它可以自动管理 Gradle 版本,使团队中的开发者和 CI/CD 系统一致。
  • 升级依赖的兼容性测试:在升级 JDK、Gradle 或 Spring Boot 时,确保运行所有测试并检查所有依赖的兼容性。
  • IDEA 的更新:IntelliJ IDEA 的新版本对最新 JDK 和 Gradle 的兼容性更好,建议及时更新到最新的稳定版,以便获得最佳的工具支持。

链接

https://docs.spring.io/spring-boot/docs/2.5.0/gradle-plugin/reference/htmlsingle/#introduction
https://start.spring.io/
https://gradle.org/install/
https://mvnrepository.com/
JDK不同脚本切换


http://www.mrgr.cn/news/64584.html

相关文章:

  • DAY18|二叉树Part06|LeetCode: 530.二叉搜索树的最小绝对差、501. 二叉搜索树中的众数、236.二叉树的最近公共祖先
  • 【Canal 中间件】Canal使用原理与基本组件概述
  • 代码随想录第十七天
  • 市象独家|百度副总裁陈一凡轮岗MEG;美团开放两项员工专属优惠 美团
  • 硬件在环仿真建模之电路拓扑建模与数学建模
  • scala的属性访问权限
  • JeecgBoot集成工作流实战教程
  • 【汇编语言】[BX]和loop指令(一)—— 初识[BX]和loop指令
  • java项目之个人博客系统的设计与实现(springboot)
  • ARIMA时间序列预测模型详细讲解+Python案例演示
  • As Simple as One and Two
  • 算法学习(七)—— 分治
  • 棉花病害识别检测数据集(猫脸码客 第232期)
  • WorkFlow源码剖析——Communicator之TCPServer(上)
  • 深潜C语言的星辰大海:剖析那些鲜见却至关重要的关键字及其在实战中的运用
  • 2024年【危险化学品生产单位安全生产管理人员】最新解析及危险化学品生产单位安全生产管理人员找解析
  • 深入探索PostGIS
  • 有问必答: EMC Unity 存储系统root drive空间告警提醒
  • Rust常用属性及应用
  • Air780EP之RC522开发板,你了解吗?
  • C#/.NET/.NET Core拾遗补漏合集(24年10月更新)
  • 2024运维学习路线图
  • python-14-函数详解(定义、参数、返回值、高级函数、偏函数、装饰器)
  • 【JAVA毕业设计】基于Vue和SpringBoot的甘肃非物质文化网站
  • java项目之微服务在线教育系统设计与实现(springcloud)
  • 服务器虚拟化:构建高效弹性IT环境的基础