码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【Gradle】二、全新项目构建工具Gradle的体验


    全新项目构建工具Gradle的体验

    • 一、Gradle的项目结构
    • 二、Gradle 创建第一个项目
    • 三、Gradle 中的常用指令
    • 四、Wrapper 包装器
      • 1、Wrapper 介绍
      • 2、如何使用 Gradle Wrapper 呢?
      • 3、GradleWrapper 的执行流程:
      • 4、gradle-wrapper.properties 文件解读:
        • **那什么时候选择使用 gradle wrapper、什么时候选择使用本地 gradle?
        • 切换项目依赖的gradle

    一、Gradle的项目结构

    Gradle 项目默认目录结构和 Maven 项目的目录结构一致,都是基于约定大于配置【Convention Over Configuration】。
    其完整项目目录结构如下所示:
    在这里插入图片描述

    1、只有war工程才有webapp目录,对于普通的jar工程并没有webapp目录
    2、gradlew与gradlew.bat执行的指定wrapper版本中的gradle指令,不是本地安装的gradle指令哦。

    二、Gradle 创建第一个项目

    spring 脚手架创建 gradle 第一个项目:https://start.spring.io/
    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    与上图对比会发现:总体的目录结构与上图说明的是一致的。

    三、Gradle 中的常用指令

    在这里插入图片描述
    需要注意的是:gradle 的指令要在含有 build.gradle 的目录执行。

    四、Wrapper 包装器

    1、Wrapper 介绍

    Gradle Wrapper 实际上就是对 Gradle 的一层包装,用于解决实际开发中可能会遇到的不同的项目需要不同版本的 Gradle 问题。例如:把自己的代码共享给其他人使用,可能出现如下情况:
    1.对方电脑没有安装 gradle 2.对方电脑安装过 gradle,但是版本太旧了

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

    2、如何使用 Gradle Wrapper 呢?

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

    gradle wrapper --gradle-version=4.4:升级wrapper版本号,只是修改gradle.properties中wrapper版本,未实际下载 
    gradle wrapper --gradle-version 5.2.1 --distribution-type all :关联源码用
    
    • 1
    • 2

    3、GradleWrapper 的执行流程:

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

    在这里插入图片描述

    4、gradle-wrapper.properties 文件解读:

    在这里插入图片描述
    注意:前面提到的 GRALE_USER_HOME 环境变量用于这里的 Gradle Wrapper 下载的特定版本的 gradle 存储目录。
    如 果我们没有配置过 GRALE_USER_HOME 环境变量,默认在当前用户目录下的.gradle 文件夹中。

    **那什么时候选择使用 gradle wrapper、什么时候选择使用本地 gradle?

    下载别人的项目或者使用操作以前自己写的不同版本的gradle项目时:用Gradle wrapper,也即:gradlew
    什么时候使用本地gradle?
    新建一个项目时: 使用gradle指令即可。

    切换项目依赖的gradle

    可自定义使用项目的gradle
    在这里插入图片描述
    也可以 修改gradle-wrapper.properties 配置文件。
    在这里插入图片描述

    在这里插入图片描述

  • 相关阅读:
    如何做红烧肉好吃又不腻 教你做红烧肉
    java计算机毕业设计在线学习跟踪系统后台源程序+mysql+系统+lw文档+远程调试
    java-net-php-python-jsp保险公司报销演示录像修改版2020计算机毕业设计程序
    【前端设计】SDC中生成时钟create_generated_clock语法解析
    KongA 任意用户登录漏洞分析
    【个人笔记js的原型理解】
    阿里架构师耗时1年,把P8所需要的整个Java体系,都整理到了一起
    【云原生 | Kubernetes 系列】--Gitops持续交付和持续Tekton Triggers
    “全民创业”热潮,现在是不是创业的好时机?可以做什么项目?
    人工智能学习:载入MNIST数据集(1)
  • 原文地址:https://blog.csdn.net/weixin_43333483/article/details/127832532
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号