首页 > 其他分享 >Gradle入门了解

Gradle入门了解

时间:2022-11-28 23:36:54浏览次数:56  
标签:入门 gradle maven init 了解 HOME Gradle 目录

最近项目中使用到了Gradle所以就抓紧学习了一下。以下资料来自互联网,属于个人整理。图片如有侵权会删除

不同管理工具的区别

image.png

版本兼容问题

Gradle存在版本兼容问题,不同的IDEA与Gradle存在版本问题,同样Spring Boot和Gradle也存在版本兼容问题。
Idea可以在安装目录下的plugs目录下查看当前版本的idea适配哪些Gradle
Mac电脑的具体目录可以在app的显示包目录下查看,如图所示:
image.png

JDK版本问题

要求JDK要求不能低于1.8,具体可查看官方文档

目录结构 image.png

注意:gradlew与gradlew.bat执行的指令是wrapper中的gradle指令,不是本地安装的gradle指令

常用指令

image.png

注意:gradle命令要在含有build.gradle文件的目录下执行

修改maven下载源

因为Gradle的下载源是国外的,由于国内的原因访问速度很慢,所以我们需要修改一下下载源。可以在gradle目录下的inid.d目录下新增/修改以.gradle后缀结尾的文件,它可以实现在build之前执行,操作如图所示:
image.png
init.gradle文件内容如下:

// 针对所有功能
allprojects {
    // 项目所需要的jar包会从这里下载
    repositories {
        // maven的本地仓库 这里必须要配置环境变量 M2_HOME:maven本地长仓库路径
        mavenLocal()
        maven { name "Alibaba" ; url "https://maven.aliyun.com/repository/public" } 
        maven { name "Bstek" ; url "https://nexus.bsdn.org/content/groups/public/" } 
        // maven中央仓库
		mavenCentral()
    }
    // build gradle 构建脚本使用,构架脚本本身需要的依赖
    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/' }
        }
    }
}

Mac的环境变量M2_HOME截图
image.png

init.gradle的执行方式

  1. 使用命令行指定:**gradle --init-script yourdir/init.gradle -q taskName**

可以多次输入此命令来指定多个init文件

image.png

  1. 把init.gradle文件放到 USER_HOME/.gradle/ 目录下

USER_HOME就是当前用户目录下,也就是当前用户下的.gradle目录下

如图:
image.png

  1. .gradle结尾的文件放到 USER_HOME/.gradle/init.d/ 目录下
  2. 把以.gradle结尾的文件放到 GRADLE_HOME/init.d/ 目录下(也就是修改maven下载源的方式)

注意:

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

  • 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 Wrapper

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

相关命令:

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

# 下载指定版本的(7.4.4)会存储在GRADLE_USER_HOME目录下的wrapper/dist
gradlew classes

# 关联源码用
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 版本。

如下图所示
image.png

gradle-wrapper.properties 文件解读

字段名 说明
distributionBase 下载的Gradle压缩包解压后存储的主目录
distributionPath 相对于distrionBase的解压后的Gradle压缩包的路径
zipStoreBase 同distributionBase,只不过是存放zip压缩包的
zipStorePath 同distributionPath,只不过是存放zip压缩包的
distributionUrl Gradle发行版压缩包的下载地址

整理不易,如果对你有所帮助欢迎点赞关注

微信搜索【码上遇见你】获取更多精彩内容

标签:入门,gradle,maven,init,了解,HOME,Gradle,目录
From: https://www.cnblogs.com/java-wang/p/16934123.html

相关文章

  • 【GIS开发】OpenLayers入门学习(JavaScript库)
    文章目录​​1、简介​​​​2、快速入门​​​​2.1在线库快速入门​​​​2.2本地库快速入门​​​​2.3nodejs快速入门​​​​2.4vue快速入门​​​​2.5python快......
  • 软件吞噬世界,Api快速入门到放弃
    正如汽车行业必须达到一定的规模,才能让企业只生产一个部件。软件产业现在已经足够大了,尤其当你接受所谓的“软件吞噬世界”此类的说法时更是如此。因此,和汽车工业不再生产自......
  • 三分钟了解client-go
    Kubernetes的大多数组件(如控制器、Kubelet、调度器等)都不直接操作ETCD存储,组件之间也不直接通信,而是统一通过APIServer通信并间接实现对ETCD的存储和查询,而这些组件与APIS......
  • 正则表达式30分钟入门教程
     正则表达式30分钟入门教程版本:v2.3(2008-4-13)作者:​​deerchao​​​转载请注明来源目录​​跳过目录​​​​本文目标​​​​如何使用本教程​​​​正则表达......
  • 前端Sass回顾以及Compass入门小记
    目录​​目录​​​​前言​​​​下载安装​​​SASS语法核心回顾​​​变量及使用​​​​import语法​​​​函数​​​​Sass中的media​​​​at-root​​​Compass的......
  • 重拾Hibernate框架——入门
    目录​​目录​​​Hibernate入门​​第一个Hibernate程序​​​实现数据库操作​​​Hibernate配置文件详解​​​Hibernate映射配置文件​​​​Hibernate核心配置文件​......
  • xml_解析_Jsoup_快速入门以及Jsoup对象
    xml_解析_Jsoup_快速入门快速入门:1.导入jar包:2.获取Document对象:3.获取对应的标签Element对象:4.获取数据publicclassJsoupDemo1{publicst......
  • Bootstrap_栅格系统_入门和Bootstrap_栅格系统_注意事项
    Bootstrap_栅格系统_入门:响应式布局:同一套页面可以兼容不同分辨率的设备实现:依赖于栅格系统:将一行平均分成12个格子,可以指定元素占几个格子步骤:1.定义容器,相当于htm......
  • 【Java并发入门】01 并发编程Bug的源头
    一、根本原因「CPU、内存、磁盘之间的速度差异」为了能同时执行多个任务,CPU发展出时间片轮转、多核等CPU要从内存中读数据太慢了,所以给自己设置了缓存CPU读磁盘更......
  • Bootstrap_概述和Bootstrap_快速入门
    Bootstrap_概述:Bootstrap_概述概念:一个前端开发的框架框架:一个半成品软件,开发人员可以在框架基础上,在进行开发,简化编码好处:定义了很多css样式和js插件,我们开发人员直接......