【Mac】安装Gradle

1、说明

Gradle 运行依赖 JVM,需要先安装JDK,Gradle 与 JDK的版本对应参见:Java Compatibility

IDEA的版本也是有要求Gradle版本的,二者版本对应关系参见:Third-Party Software and Licenses

本次 Gradle 安装版本为 8.11.1,要求JDK8及以上的版本。

未安装JDK的移步:【Java】Linux、Mac、Windows 安装 Oracle JDK

2、安装

2.1 手动安装

  • 下载 Gradle(若无研究源码等其他需求,下载binary即可):

    • 官网下载
    • 国内镜像网站下载
  • 解压下载的.zip 文件

  • 配置环境变量:

    zs@Mac ~ % vim .zshrc
    # GRADLE_USER_HOME 为可选项,用于配置仓库地址,可选择与maven同一个仓库
    export GRADLE_USER_HOME=/Users/zs/App/repository
    export GRADLE_HOME=/Users/zs/App/gradle-8.11.1
    export PATH=$GRADLE_HOME/bin:$PATHzs@Mac ~ % source .zshrc
    
  • 查看版本:

    gradle -v
    

2.2 使用 homebrew 来安装Gradle

brew install gradle

2.3 通过程序编译安装

在没有安装gradle的情况下,用idea打开gradle项目会自动编译安装,默认会根据项目的 gradle-wrapper.properties 中的配置下载

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

参数说明:

  • distributionBase:下载的 Gradle 压缩包解压后存储的主目录。GRADLE_USER_HOME为环境变量,如果没配置,则默认是用户目录下的.gradle文件夹。
  • distributionPath:相对于 distributionBase的解压后的 Gradle压缩包的路径
  • zipStoreBase:同 distributionBase,只不过是存放 zip压缩包的
  • zipStorePath:同 distributionPath,只不过是存放 zip压缩包的
  • distributionUrl:Gradle发行版压缩包的下载地址。services.gradle.org未必能访问到,可修改地址为 https://mirrors.cloud.tencent.com/gradle/gradle-8.3-bin.zip,gradle版本可自行指定。

3、切换镜像源

./Users/zs/App/gradle-8.11.1/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/' }}}
}
  • mavenLocal(): 指定使用maven本地仓库,而本地仓库在配置maven时settings文件指定的仓库位置。
    jar包查找顺序:${USER_HOME}/.m2/settings.xml >> ${M2_HOME}/conf/ settings.xml >> USER_HOME/.m2/repository
  • maven {url 地址}:指定maven仓库,一般用私有仓库地址或其它的第三方库【比如阿里镜像仓库地址】。
  • mavenCentral():Maven的中央仓库,无需配置,直接声明就可以使用。
  • jcenter():JCeater 中央仓库,实际也是用maven搭建的,但相比Maven仓库更友好,通过CDN分发,并且支持https访问。在新版本中已经废弃了,替换为了mavenCentral()。

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

这种方式也有一定的问题,如果本地maven仓库有这个依赖,就会从直接加载本地依赖,如果本地仓库没有该依赖,那么还是会从远程下载。但是下载的jar不是存储在本地maven仓库中,而是放在自己的缓存目录中,默认在${USER_HOME}/.guade/caches目录,当然如果我们配置过GRADLE_USER_HOME 环境变量,则会放在GRADLE_USER_HOME/caches目录。

gadle caches 无法指向 maven repository,因为 caches 下载的文件不是按照maven仓库中存放的方式。

4、IDEA 集成 Gradle

  • 第一步,IntelliJ IDEA ⇒ Settings ⇒ Plugins ⇒ MarketPlace,输入 gradle,点击 install,安装完成后 重启IDE
    在这里插入图片描述
  • 第二步,File ⇒ New Projects Setup ⇒ Settings for New Projects ⇒ Buil, Execution, Deployment ⇒ Build Tools ⇒ Gradle,将Distribution 切换为 Local installation
    在这里插入图片描述

第一次使用Gradle加载项目会下载较多资源,比较慢,请耐心等待

5、Gradle升级

查看所有可能的警告信息:

$ gradle help --warning-mode=all

升级:

$ gradle wrapper --gradle-version 8.3

9、资料

  • 【Gradle】mac环境安装Gradle及配置
  • 通过gradle开发idea插件,环境版本适配

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/63284.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

项目代码第2讲:从0实现LoginController.cs,UsersController.cs、User相关的后端接口对应的前端界面

一、User 1、使用数据注解设置主键和外键 设置主键:在User类的U_uid属性上使用[Key]注解。 设置外键:在Order类中,创建一个表示外键的属性(例如UserU_uid),并使用[ForeignKey]注解指定它引用User类的哪个…

使用mtools搭建MongoDB复制集和分片集群

mtools介绍 mtools是一套基于Python实现的MongoDB工具集,其包括MongoDB日志分析、报表生成及简易的数据库安装等功能。它由MongoDB原生的工程师单独发起并做开源维护,目前已经有大量的使用者。 mtools所包含的一些常用组件如下: mlaunch支…

nginx不允许静态文件被post请求显示405 not allowed

在单独站点的配置文件中 添加error_page 405 200 $request_uri; 即可!

golang 汉字转拼音

导入包 # 支持多音字,音调标识等 go get github.com/mozillazg/go-pinyin简单示例 func Test() {// 配置选项opts : pinyin.NewArgs()opts.Style pinyin.Normal // 设置拼音的样式(普通拼音)var test_text "你好世界"test_piny…

MFC扩展库BCGControlBar Pro v36.0新版亮点:黑色主题中的自动反转图标

BCGControlBar库拥有500多个经过全面设计、测试和充分记录的MFC扩展类。 我们的组件可以轻松地集成到您的应用程序中,并为您节省数百个开发和调试时间。 BCGControlBar专业版 v36.0已全新发布了,这个版本在黑暗主题中添加自动图标反转、新增一个全新的S…

MFC工控项目实例三十五读取数据库数据

点击按钮打开文件夹中的数据文件生成曲线 相关代码 void CSEAL_PRESSUREDlg::OnTesReport() {CFileDialog dlgOpen(TRUE/*TRUE打开,FALSE保存*/,0,0,OFN_NOCHANGEDIR|OFN_FILEMUSTEXIST,"All Files(mdb.*)|*.*||",//文件过滤器NULL);CString mdb_1, m…

jwt 与 sessionid 的区别及应用场景

在现代 Web 应用中,JWT(JSON Web Token)和SessionID是两种常用的用户认证和状态管理机制。本文从两者的原理、区别、优缺点以及适用场景展开分析,结合常见问题提出了最佳实践建议,帮助开发者更好地选择和使用。 JWT与S…

反向传播算法中的误差项

背景 在反向传播算法中,我们需要计算每个神经元的误差项,以便更新网络中的权重。对于输出层的神经元,误差项的计算公式如下: 其中: E是损失函数(例如均方误差)。 zk 是输出层神经元的加权输入&a…

数学建模之RSR秩和比综合评价法(详细)

RSR秩和比综合评价法 一、概述 秩和比法(Rank-sum ratio,简称RSR法)是我国学者田凤调于1988年提出的,田教授是我国杰出的卫生统计学家,该方法最初提出时用于解决医学卫生领域的综合评价问题,后经各领域学者的补充和完善&#xf…

android WebRtc 无法推流以及拉流有视频无声音问题

最近在开发使用WebRtc进行视频通话和语音通话,我使用的设备是MTK的手机,期间后台的技术人员几乎没法提供任何帮助,只有接口和测试的web端,有遇到不能推流。推流成功网页端有画面有声音,但是安卓端有画面,没…

RNACOS:用Rust实现的Nacos服务

RNACOS是一个使用Rust语言开发的Nacos服务实现,它继承了Nacos的所有核心功能,并在此基础上进行了优化和改进。作为一个轻量级、快速、稳定且高性能的服务,RNACOS不仅包含了注册中心、配置中心和Web管理控制台的功能,还支持单机和集…

OpenTK为SkiaSharp在.NET 环境下提供OpenGL支持,使其进行高效的2D渲染

前言 在 .NET 环境下,OpenTK 为 SkiaSharp 提供了 OpenGL 支持,使得 SkiaSharp 能够利用 OpenGL 进行高效的 2D 渲染。这种结合能够充分发挥 GPU 的加速能力,从而提升渲染性能,尤其是在需要进行复杂图形处理或频繁更新的应用中&a…

Linux-FrameBuffer设备(LCD)应用编程

本章学习 Linux 下的 Framebuffer 应用编程,通过对本章内容的学习,大家将会了解到 Framebuffer 设备究竟是什么?以及如何编写应用程序来操控 FrameBuffer 设备。 本章将会讨论如下主题。 ⚫ 什么是 Framebuffer 设备? ⚫ LCD 显示…

mobi文件转成pdf

将 MOBI 文件转换为 PDF 格式通常涉及两个步骤: 解析 MOBI 文件:需要提取 MOBI 文件的内容(文本、图片等)。将提取的内容转换为 PDF:将 MOBI 文件的内容渲染到 PDF 格式。 可用工具 kindleunpack 或 mobi&#xff1…

IDEA中MAVEN的一些设置问题

关于IDEA中MAVEN的一些设置问题 这三个配置的作业分别是什么呢? 在这张截图中,Maven的三个设置分别是: Maven home path (Maven主目录路径): 这是Maven的安装路径,指向Maven的主目录。通常包含 bin、conf 等文件夹。用…

深入探索 Node.js:构建强大的后端应用

亲爱的小伙伴们😘,在求知的漫漫旅途中,若你对深度学习的奥秘、JAVA 、PYTHON与SAP 的奇妙世界,亦或是读研论文的撰写攻略有所探寻🧐,那不妨给我一个小小的关注吧🥰。我会精心筹备,在…

量化交易系统开发-实时行情自动化交易-8.10.极智量化平台

19年创业做过一年的量化交易但没有成功,作为交易系统的开发人员积累了一些经验,最近想重新研究交易系统,一边整理一边写出来一些思考供大家参考,也希望跟做量化的朋友有更多的交流和合作。 接下来会对于极智量化平台介绍。 极智…

Java基本运算符

Java运算符分类 算术运算符 加,数值运算字符数拼接 - 减 * 乘 / 除数,求的——商 % 模,求的——余数(自增) --(自减) 只能用于变量不能用于常量 语法格式: 变量名变量名注意:一定把变量名或变量名看成是一个表达式 …

HBU深度学习实验14.5-循环神经网络(1.5)

梯度爆炸实验 造成简单循环网络较难建模长程依赖问题的原因有两个:梯度爆炸和梯度消失。一般来讲,循环网络的梯度爆炸问题比较容易解决,一般通过权重衰减或梯度截断可以较好地来避免;对于梯度消失问题,更加有效的方式…

Leetcode经典题4--查找数组中的多数元素+Boyer-Moore 投票算法

题目描述: 给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 输入输出示例 输入:nums [2,2,1,1,1,2,2] 输出…