Gradle 入门概念和Mac 安装Gradle

这篇具有很好参考价值的文章主要介绍了Gradle 入门概念和Mac 安装Gradle。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Gradle 简介

Gradle 是一款 Google 推出的基于 JVM、通用灵活的项目构建工具,支持 Maven,JCenter 多种第三方仓库;支持传递性
依赖管理、废弃了繁杂的 xml 文件,转而使用简洁的、支持多种语言(例如:
java、groovy 等)的 build 脚本文件。

官网地址 : https://gradle.org/

常见的构建工具

Ant: 2000 年 Apache 推出的纯 Java 编写构建工具,通过 xml[build.xml]文件管理项目
优点:使用灵活,速度快(快于 gradle 和 maven),
缺点:Ant 没有强加任何编码约定的项目目录结构,开发人员需编写繁杂 XML 文件构建指令,对开发人员是一个挑战。

Maven: 2004 年 Apache 组织推出的再次使用 xml 文件[pom.xml]管理项目的构建工具。
优点: 遵循一套约定大于配置的项目目录结构,使用统一的 GAV 坐标进行依赖管理,侧重于包管理。
缺点:项目构建过程僵化,配置文件编写不够灵活、不方便自定义组件,构建速度慢于 gradle。

Gradle: 2012 年 Google 推出的基于 Groovy 语言的全新项目构建工具,集合了 Ant 和 Maven 各自的优势。
优点:集 Ant 脚本的灵活性+Maven 约定大于配置的项目目录优势,支持多种远程仓库和插件,侧重于大项目构建。
缺点:学习成本高、资料少、脚本灵活、版本兼容性差等。
mac安装gradle,macos,gradle,intellij-idea

Gradle 安装

Gradle 和 Java版本对应关系

Java version First Gradle version to support it
8 2.0
9 4.3
10 4.7
11 5.0
12 5.4
13 6.0
14 6.3
15 6.7
16 7.0
17 7.3
18 7.5
19 7.6

Mac 安装(使用Homebrew安装)

  • 安装gradle
# 安装
brew install gradle
  • 查看安装的版本号(检测是否安装成功)
gradle --version

mac安装gradle,macos,gradle,intellij-idea

  • 查看安装的目录
brew list gradle

mac安装gradle,macos,gradle,intellij-idea

配置环境变量

查看当前(shell)

~/.bash_profile 是 Bash Shell 的配置文件,而 ~/.zshrc 是 Zsh Shell 的配置文件。这些文件用于配置各自的环境变量、别名、函数和其他 Shell 相关的设置。

  • ~/.bash_profile:Bash Shell 在登录时会加载该文件。它适用于 macOS 默认的终端应用程序 Terminal,默认使用的是 Bash Shell。

  • ~/.zshrc:Zsh Shell 在启动时会加载该文件。Zsh 是一种功能强大且高度可定制的 Shell,可以替代默认的 Bash Shell。在最新版本的 macOS(如 macOS Catalina 和 Big Sur)中,默认终端应用程序已经切换到使用 Zsh Shell。

如果正在使用默认的终端应用程序,并且没有手动更改 Shell,那么 ~/.bash_profile 文件将会被加载。但是,如果已切换为 Zsh Shell,那么应该编辑 ~/.zshrc 文件来配置环境变量和其他 Shell 相关设置。

根据当前使用的 Shell 来选择相应的配置文件进行编辑,以便设置 GRADLE_HOME 环境变量或其他需要的配置。

echo $SHELL

# 在终端中运行此命令后,会显示所使用的 shell 的路径。例如,如果输出是 `/bin/bash`,则表示当前使用的是 Bash Shell;如果输出是 `/bin/zsh`,则表示当前使用的是 Zsh Shell

bash shell 则使用配置文件: ~/.bash_profile
Zsh Shell 则使用配置文件: ~/.zshrc

mac安装gradle,macos,gradle,intellij-idea


# 添加 gradle本地仓库地址
export GRADLE_USER_HOME=/Users/mi/development/maven/repository

# gradle 安装地址(终端执行 gradle --version 有输出的话,就不需要配置)
# export GRADLE_HOME=/opt/homebrew/Cellar/gradle/8.2.1
  • 重新加载配置文件
# 
# bash shell 则使用: source ~/.bash_profile
# Zsh Shell 则使用: source ~/.zshrc

mac安装gradle,macos,gradle,intellij-idea

Gradle 项目目录结构

Gradle 项目默认目录结构和 Maven 项目的目录结构一致,都是基于约定大于配【Convention Over Configuration】。
其完整项目目录结构如下所示:
mac安装gradle,macos,gradle,intellij-idea

创建Gradle 项目

借助于 spring 脚手架创建 gradle 第一个项目:https://start.spring.io/
mac安装gradle,macos,gradle,intellij-idea

生成的目录结构如下所示

mac安装gradle,macos,gradle,intellij-idea

修改 maven 下载源

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

我们可以在 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/ 目录

如果存在上面的4种方式的2种以上,gradle会按上面的1-4序号依次执行这些文件,如果给定目录下存在多个init脚本,会按拼音a-z顺序执行这些脚本,每个init脚本都存在一个对应的gradle实例,你在这个文件中调用的所有方法和属性,都会委托给这个gradle实例,每个init脚本都实现了Script接口。

拓展 2:仓库地址说明

mavenLocal(): 指定使用maven本地仓库,而本地仓库在配置maven时settings文件指定的仓库位置。如E:/repository,gradle查找jar包顺序如下:USER_HOME/.m2/settings.xml >> M2_HOME/conf/settings.xml >> 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。这是不行的,caches下载文件不是按照maven仓库中存放的方式。

拓展 3:阿里云仓库地址请参考:https://developer.aliyun.com/mvn/guide

Wrapper 包装器

Gradle Wrapper 实际上就是对 Gradle 的一层包装,用于解决实际开发中可能会遇到的不同的项目需要不同版本的 Gradle

问题。例如:把自己的代码共享给其他人使用,可能出现如下情况:
1.对方电脑没有安装 gradle
2.对方电脑安装过 gradle,但是版本太旧了

这时候,我们就可以考虑使用 Gradle Wrapper 了。这也是官方建议使用 Gradle Wrapper 的原因。实际上有了 GradleWrapper 之后,我们本地是可以不配置 Gradle 的,下载 Gradle 项目后,使用 gradle 项目自带的 wrapper 操作也是可以的。

那如何使用 Gradle Wrapper 呢?

项目中的gradlew、gradlew.cmd脚本用的就是wrapper中规定的gradle版本。参见源码
而我们上面提到的gradle指令用的是本地gradle,所以gradle指令和gradlew指令所使用的gradle版本有可能是不一样的。
gradlew、gradlew.cmd的使用方式与gradle使用方式完全一致,只不过把gradle指令换成了gradlew指令。
也可以在终端执行 gradlew 指令时,指定指定一些参数,来控制 Wrapper 的生成,比如依赖的版本等,如下:
mac安装gradle,macos,gradle,intellij-idea

具体操作如下所示 :

gradle wrapper --gradle-version=4.4:升级wrapper版本号,只是修改gradle.properties中wrapper版本,未实际下载

gradle wrapper --gradle-version 5.2.1 --distribution-type all :关联源码用

GradleWrapper 的执行流程:
  1. 当我们第一次执行 ./gradlew build 命令的时候,gradlew 会读取 gradle-wrapper.properties 文件的配置信息
  2. 准确的将指定版本的 gradle 下载并解压到指定的位置(GRADLE_USER_HOME目录下的wrapper/dists目录中)
  3. 并构建本地缓存(GRADLE_USER_HOME目录下的caches目录中),下载再使用相同版本的gradle就不用下载了
  4. 之后执行的 ./gradlew 所有命令都是使用指定的 gradle 版本。如下图所示:

mac安装gradle,macos,gradle,intellij-idea

gradle-wrapper.properties 文件解读
在这里插入代码片

mac安装gradle,macos,gradle,intellij-idea

mac安装gradle,macos,gradle,intellij-idea

注意:

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

到了这里,关于Gradle 入门概念和Mac 安装Gradle的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 保姆式教程:MAC安装Android studio(包括安装JDK,Android SDK),解决gradle下载慢的问题

    原文链接 原文链接 下载地址 下载后双击安装包 打开Mac的终端,输入命令查询JDK的安装路径 配置环境之前需要清楚这个JDK的安装路径,如果知道就不用查 输入以上字符串,就会输出JDK的安装路径,将这个路径复制暂且复制下来,一会儿用。 然后接下来我们在终端输入相应的

    2024年02月04日
    浏览(65)
  • mac 配置 gradle 、gradle-wrapper.properties文件 distributionUrl 指定本地gradle.zip

    mac配置 gradle https://blog.csdn.net/RreamigOfGirls/article/details/126300196 gradle-wrapper.properties 文件: distributionUrl 指定本地gradle.zip 注意 如果是从官网下载,用的是 https

    2024年01月19日
    浏览(41)
  • 在Mac上搭建Gradle环境

    Gradle运行需要Java开发工具包(JDK)。您可以从Oracle官网下载适合您的操作系统版本的JDK。请按照以下步骤进行操作: 打开浏览器,访问Oracle官网的JDK下载页面:https://www.oracle.com/java/technologies/javase-jdk11-downloads.html 根据您的操作系统版本,选择并下载适合您的JDK版本。请确保

    2024年02月15日
    浏览(28)
  • mac+idea中安装配置gradle方法

    1) 安装brew 2) 通过brew安装gradle brew install gradle 3) 配置JAVA_HOME环境变量 export JAVA_HOME=$(/usr/libexec/java_home) 至此,gradle安装成功 配置位置 : idea-Settings-Build,Execution,Deployment-Build Tools-Gradle 配置项 : 1) 配置Gradle user home 此目录为gradle存储下载文件的目录,一般为/Users/your.name/.gradle

    2024年02月04日
    浏览(47)
  • 【Android Gradle】之一小时 Gradle及 wrapper 入门

    😄作者简介: 小曾同学.com,一个致力于测试开发的博主⛽️,主要职责:测试开发、CI/CD 如果文章知识点有错误的地方,还请大家指正,让我们一起学习,一起进步。 😊 座右铭:不想当开发的测试,不是一个好测试✌️。 如果感觉博主的文章还不错的话,还请点赞、收藏

    2024年02月05日
    浏览(30)
  • Android Studio下载及安装和Gradle的配置(非常详细)从零基础入门到精通,看完这一篇就够了

    文章目录 下载 安装 修改Sdk的位置 创建项目 修改Gradle的位置 查看AS版本 工具栏–View项 工具栏–Build下的功能说明 Build Variants视图说明 下载模拟器(avd)/安卓虚拟设备 屏幕熄灭功能 关闭虚拟设备功能 删除自己开发的应用软件 将开发的应用运行到虚拟设备上。 修改模拟器

    2024年02月09日
    浏览(57)
  • Android Studio下载及安装和Gradle的配置(非常详细)从零基础入门到精通,看完这一篇就够了_

    文章目录 下载 安装 修改Sdk的位置 创建项目 修改Gradle的位置 查看AS版本 工具栏–View项 工具栏–Build下的功能说明 Build Variants视图说明 下载模拟器(avd)/安卓虚拟设备 屏幕熄灭功能 关闭虚拟设备功能 删除自己开发的应用软件 将开发的应用运行到虚拟设备上。 修改模拟器

    2024年02月06日
    浏览(54)
  • 【Android -知识积累】将构建变量注入清单 & manifestPlaceholders 和 gradle.properties的 概念

    在Android项目中,manifestPlaceholders允许您在AndroidManifest.xml文件中使用占位符来动态地替换参数。这些参数可以在构建时通过Gradle脚本进行配置。您可以在AndroidManifest.xml中使用占位符来设置应用程序的名称、版本号、应用程序ID等。例如,您可以在AndroidManifest.xml中设置应用程序

    2024年02月13日
    浏览(46)
  • Mac系统下Android studio配置环境变量(ADB、JDK、GRADLE、Flutter)

    mac os 启动台–终端 进入当前用户的home目录(默认) : cd 若.bash_profile文件不存在则创建:touch .bashrc(名字可以自己定义.bash_profile) 打开.bash_profile(文件不存在则创建则:touch file_name):open .bashrc 在.bashrc文件最后添加需要配置的环境变量 ####格式: export PATH_NAME= P A T H : PATH: P A T

    2023年04月11日
    浏览(73)
  • 3--Gradle入门 - 创建普通的Java工程

    前面我们以及尝试过使用 Gradle 创建项目,下面我们使用 Idea 来创建普通的Java工程 1. 创建 Gradle 管理依赖的项目 语言设置 Java 依赖设置 Gradle DSL 使用 Groovy 2. 设置项目使用本地的 gradle 设置 Gradle user home:默认会设置 GRADLE_USER_HOME 的缓存仓库 设置 Use Gradle from:使用本地 gradl

    2024年02月09日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包