【2】Gradle-快速入门使用【Gradle项目结构概念】

目录

  • 【2】Gradle-快速入门使用【Gradle项目结构概念】
    • 安装
      • 本地安装
        • 先决条件
      • 官网安装教程
    • Gradle 快速指南
      • 初始化项目
      • 查看Gradle的项目结构
      • 了解Gradle Wrapper
      • 调用Gradle包装器
      • 了解Gradle的项目结构
      • 了解`settings`文件
      • 了解构建脚本
    • IDEA中使用Gradle
      • 创建一个新项目
      • 创建一个Spring Boot 项目
      • Idea中 Gradle操作

个人主页: 【⭐️个人主页】
需要您的【💖 点赞+关注】支持 💯


在这里插入图片描述

【2】Gradle-快速入门使用【Gradle项目结构概念】

📖 本文核心点:

  • Gradle安装的条件
  • Gradle的项目初始化命令
  • Gradle的IDEA中使用
  • Gradle Wrapper的概述
  • Gradle的项目结构
  • Gradle多模块
  • settings.gradle和build.gradle文件的作用

安装

本地安装

您可以在Linux、macOS或Windows上安装Gradle Build Tool。

先决条件

Gradle在所有主要操作系统上运行。它需要Java开发工具包(JDK)版本8或更高版本才能运行。您可以查看兼容性矩阵以获取更多信息。

Gradle支持Kotlin和Groovy作为主要构建语言。Gradle有自己的Kotlin和Groovy库,因此不需要安装它们。

官网安装教程

不同的操作系统,使用不同的安装说明,我这里就不一一赘述了。安装软件工具,应该是一个软件开发人员最基本的能力。官网的安装教程是最新最可行的方案。所以自己摸索几分钟或1个小时,基本就安装成功

  • 注意以下先决条件和gradle版本与java版本的对应关系。
    gradle 安装教程
    Gradle版本与Java等的兼容性

安装成功后,我们只要在系统中执行

gradle -v
gradle

Welcome to Gradle 8.4.

Directory '/' does not contain a Gradle build.

To create a new build in this directory, run gradle init

Gradle 快速指南

初始化项目

通过使用Gradle init创建Java应用程序来学习Gradle的基础知识。

  • 初始化一个新的Gradle项目
    init:命令
    gradle init 
    kongxiang@kongxiangdeMacBook-Pro:gradle init
    Starting a Gradle Daemon, 3 incompatible Daemons could not be reused, use --status for details
    
    Select type of project to generate:
      1: basic
      2: application
      3: library
      4: Gradle plugin
    Enter selection (default: basic) [1..4] 2
    
    Select implementation language:
      1: C++
      2: Groovy
      3: Java
      4: Kotlin
      5: Scala
      6: Swift
    Enter selection (default: Java) [1..6] 3
    
    Generate multiple subprojects for application? (default: no) [yes, no] yes
    Select build script DSL:
      1: Kotlin
      2: Groovy
    Enter selection (default: Kotlin) [1..2] 2
    
    Project name (default: gradle-init-study): gradle-study
    Source package (default: gradle.study): com.kongxiang.study.gradle
    Enter target version of Java (min. 7) (default: 21): 20
    Generate build using new APIs and behavior (some features may change in the next minor release)? (default: no) [yes, no] no
    
    > Task :init
    To learn more about Gradle by exploring our Samples at https://docs.gradle.org/8.4/samples/sample_building_java_applications_multi_project.html
    
    BUILD SUCCESSFUL in 54s
    2 actionable tasks: 2 executed
    

查看Gradle的项目结构

在这里插入图片描述

探索Gradle文件并构建脚本

了解Gradle Wrapper

Gradle Wrapper是开始Gradle构建的首选方式。`Wrapper下载声明的特定版本的Gradle(如果需要),然后调用构建中声明的特定版本的Gradle。

在新创建的项目中,先看看Gradle Wrapper使用的文件。它由macOS和Linux的shell脚本以及Windows的批处理脚本组成。

这些脚本允许您运行Gradle构建,而无需在系统上安装Gradle。它还有助于确保同一版本的Gradle用于不同开发人员以及本地和CI机器之间的构建。

从现在开始,您永远不会直接调用Gradle;相反,您将使用Gradle包装器

调用Gradle包装器

通过输入以下命令使用包装器:

$ ./gradlew build
在Windows中,命令是:
$ gradlew.bat build

第一次运行包装器时,如果Gradle二进制文件尚未安装在您的机器上,它会下载缓存它们。
在这里插入图片描述
因为是国外网站,所以下载gradle非常慢,我们这里使用的是腾讯的镜像代理地址。
https\://mirrors.tencent.com/gradle/gradle-8.4-bin.zip

Gradle Wrapper旨在致力于源代码控制,以便任何人都可以构建项目,而无需首先安装和配置特定版本的Gradle。

在这种情况下,我们通过包装器调用Gradle来构建我们的项目,因此我们可以看到buildsrc目录现在包含一个新的build文件夹:

在这里插入图片描述

除非另有说明,否则构建过程生成的所有文件都会进入build目录。

了解Gradle的项目结构

在这里插入图片描述

构建包含:

  • 顶级settings.gradle文件。
  • 一个根项目。
  • 一个或多个子项目,每个都有自己的build.gradle文件。

了解settings文件

一个项目由一个或多个子项目(有时称为模块)组成。

Gradle读取settings.gradle文件,以确定哪些子项目构成项目构建


plugins {
    // Apply the foojay-resolver plugin to allow automatic download of JDKs
    id("org.gradle.toolchains.foojay-resolver-convention") version "0.7.0"
}

rootProject.name = "tutorial"
include("app")

tutorial根项目包括app子项目。include调用的存在将app目录变成一个子项目。

了解构建脚本

每个子项目都包含自己的build.gradle文件。
build.gradle 文件是构建过程的核心组件,定义了构建项目所需的任务。
build.gradle 文件由Gradle读取并执行。

plugins {
    id 'com.kongxiang.study.gradle.java-application-conventions'
}

dependencies {
    implementation 'org.apache.commons:commons-text'
    implementation project(':utilities')
}

application {
    // Define the main class for the application.
    mainClass = 'com.kongxiang.study.gradle.app.App'
}

此构建脚本让Gradle知道app子项目正在使用哪些依赖项和插件,以及在哪里可以找到它们。我们将在以下章节中更详细地研究这个问题。

IDEA中使用Gradle

idea中默认存在Gradle的插件。所以使用gradle创建项目是非常简单的事情。

创建一个新项目

在这里插入图片描述

创建一个Spring Boot 项目

在这里插入图片描述

Idea中 Gradle操作

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【STM32】

STM32 1 CMSIS1.1 概述1.2 CMSIS 应用程序文件描述 2 库2.1 简介2.2 标准外设库(standrd Peripheral Libraries)2.3 HAL 库2.3.1 目录结构2.3.2 HAL库API函数和变量的命名规则2.3.3 HAL库对寄存器位操作的相关宏定义2.3.4 HAL库回调函数2.3.5 HAL使用注意…

6.存储器概述,主存储器

目录 一. 存储系统基本概念 (1)存储系统的层次结构 (2)分类 (3)存储器的性能指标 二. 主存储器的基本组成 三. SRAM和DRAM 四. 只读存储器ROM 五. 提升主存速度的方法 (1)双…

【tg】 5 :线程切换

manager 可以切到 其他类的其他线程去执行。线程切换 先通过 networkmgr 线程 执行 ,但是传递了Manager 自己的线程 进去。在networkmgr 的network线程中,获取到stats数据,然后扔给 manager的线程thread ,去posttask 还行这个task里调用了mediamanager 的perform ,在media…

U盘不可以访问的维护

u盘打不开,可按下图,设置:winR→gpedit.msc;配置“管理模板”→“系统”→“可移动存储访问”→“所有可移动存储类”。 然后,选择“未配置”,如下图

环形处理习题,举例:约瑟夫环,魔方阵

目录 约瑟夫环 魔方阵 约瑟夫环 题目描述:有n 个人围成一圈,顺序排号。从第1个人开始报数从1到3报数凡是报到3 的人退出圈子,问最后留下的是原来的第几号? 环形处理:依次遍历数据集的每个元素(每个人依次报号),直到遍历到最后…

xlua游戏热更新(lua访问C#)

CS.UnityEngine静态方法访问unity虚拟机 创建游戏物体 CS.UnityEngine.GameObject(new by lua);静态属性 CS.UnityEngine.GameObject(new by lua); -- 创建 local camera CS.UnityEngine.GameObject.Find(Main Camera); --查找 camera.name Renamed by Lua;访问组件 loca…

思维模型 斯金纳箱原理

本系列文章 主要是 分享 思维模型,涉及各个领域,重在提升认知。通过合理奖惩,塑造行为,此名为“学习”。 1 斯金纳箱原理的应用 1.1 斯金纳箱在游戏设计中的应用-《糖果传奇》 《糖果传奇》是一款由 King 开发的三消游戏&#x…

C语言--定义一个包含年月日的结构体Day,实现一个函数,根据传入的结构体指针计算,该日期是当年的第几天?

一.题目要求 输入2000年6月5日,输出:这是2000年的第157天。 二.思路分析 首先定义一个包含年月日的结构体 年份:要判断是否是闰年,闰年的二月有29天,平年的二月有28天。 月份:一个月份分大月和小月&#…

leetCode 493 翻转对

给定一个数组 nums &#xff0c;如果 i < j 且 nums[i] > 2*nums[j] 我们就将 (i, j) 称作一个重要翻转对。你需要返回给定数组中的重要翻转对的数量。 未完待续~

IDEA的优化配置教程

前言 IDEA 全称 IntelliJ IDEA&#xff0c;是java编程语言开发的集成环境。IntelliJ在业界被公认为最好的java开发工具&#xff0c;尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以…

Win11专业版安装Docker Desktop,并支持映射主机的gpu

一、Windows环境下安装 Docker 必须满足: 1. 64位Windows 11 Pro(专业版和企业版都可以) 2. Microsoft Hyper-V,Hyper-V是微软的虚拟机,在win11上是自带的,我们只需要启动就可以了 二、下载Docker Desktop安装包 方式一:进入官网下载 https://docs.docker.com/desktop…

基于VSCode + PlatformIO创建运行第一个esp32程序

文章目录 使用VSCode创建项目安装驱动下载驱动安装驱动连接开发板电脑识别开发板 编写程序烧录程序第一步、编译程序第二步、烧录程序第三步、开发板观察效果 原理讲解项目源码 在之前的课程&#xff0c;我们已经介绍了ESP32单片机&#xff0c;并且也已经安装好了开发环境&…

matplotlib 创建图和子图

Matplotlib 可能是 Python 2D-绘图领域使用最广泛的套件。它能让使用者很轻松地将数据图形化&#xff0c;并且提供多样化的输出格式。这里将会探索 matplotlib 的常见用法。 plt方式是先生成了一个画布&#xff0c;然后在这个画布上隐式的生成一个画图区域来进行画图&#xff1…

yum工具的使用

yum工具的使用 rpm的弊端 前面我们讲了下rpm&#xff0c;那么rpm有什么弊端呢&#xff1f;其弊端是显而易见的&#xff0c;当用rpm安装软件时&#xff0c;若遇到有依赖关系的软件&#xff0c;必须先安装依赖的软件才能继续安装我们要安装的软件&#xff0c;当依赖关系很复杂的…

drawio连接线的样式设置

drawio是一款强大的图表绘制软件&#xff0c;支持在线云端版本以及windows, macOS, linux安装版。 如果想在线直接使用&#xff0c;则直接输入网址draw.io或者使用drawon(桌案), drawon.cn内部完整的集成了drawio的所有功能&#xff0c;并实现了云端存储&#xff0c;以及在线共…

ModStartBlog v8.5.0 评论开关布局调整,系统后台全面优化

ModStart 是一个基于 Laravel 模块化极速开发框架。模块市场拥有丰富的功能应用&#xff0c;支持后台一键快速安装&#xff0c;让开发者能快的实现业务功能开发。 系统完全开源&#xff0c;基于 Apache 2.0 开源协议。 功能特性 丰富的模块市场&#xff0c;后台一键快速安装 …

C语言每日一题(26)移除链表元素

力扣网 203. 移除链表元素 题目描述 给你一个链表的头节点 head 和一个整数 val &#xff0c;请你删除链表中所有满足 Node.val val 的节点&#xff0c;并返回 新的头节点 。 思路分析 针对如图的普通情况&#xff0c;不能简单的遍历到对应位置然后进行释放&#xff0c;一方…

Linux编写一个极简版本的Shell

Linux编写一个极简版本的Shell &#x1f4df;作者主页&#xff1a;慢热的陕西人 &#x1f334;专栏链接&#xff1a;Linux &#x1f4e3;欢迎各位大佬&#x1f44d;点赞&#x1f525;关注&#x1f693;收藏&#xff0c;&#x1f349;留言 本博客主要内容在Linux环境下&#xff…

Windows 中 kubectl 配置详细指南

目录 前言 什么是 Chocolatey与Minikube Chocolatey Minikube 安装 Minikube 安装 Chocolatey&#xff08;如果尚未安装&#xff09; Minikube 遇到的问题 通过获取集群状态的方法 kubectl 可选配置和插件 启用 shell 自动补全功能 安装 kubectl convert 插件 前言 …

vue做的一个一点就转的转盘(音乐磁盘),点击停止时会在几秒内缓慢停止,再次点击按钮可以再次旋转,

先看效果&#xff1a; 代码&#xff1a;主要部分我会红线画出来 css:部分&#xff1a; 源码&#xff1a; vue部分&#xff1a; <template><div class"song-lyric"><div><div class"type"><div class"right">&l…