一、Gradle 手动创建一个项目

文章目录

  • Gradle 介绍
    • Gradle Wrapper
  • Gradle 使用
    • 手动安装 Gradle
    • 初始化

Gradle 介绍

Gradle 是一个快速的、可信的、适应性强的自动化构建工具,它是开源的。它使用优雅的并且可扩展的描述性语言。其他的介绍在官网可以了解。

Gradle Wrapper

官方建议使用 Gradle Wrapper 来执行任何构建,有如下好处:

  1. 统一 Gradle 版本,并且是自动化的统一,当多个用户协作开发项目时,不需要每个人手动配置 Gradle,可由 IDE(如 IntelliJ IDEA) 自动配置
  2. 更改简单的 Wrapper 定义即可为不同用户配置不同的 Gradle 版本。
  3. 更改简单的 Wrapper 定义即可为不同的构建环境配置不同的 Gradle 版本。

基于以上好处,我们就开始使用 Gradle Wrapper 来构建一个新的项目。

Gradle 使用

手动安装 Gradle

使用 Gradle Wrapper 需要一个提前安装好的 Gradle,所以我们需要先安装一个可用的 Gradle,安装的这个 Gradle 只用于初始化用 Gradle Wrapper 构建的项目。

安装 Gradle 的步骤很简单,就是下载 Gradle 发行包,然后解压并配置环境变量(不配置环境变量也可以,在执行命令的时候要带上解压后 Gradle 的 bin 目录的相对路径或者绝对路径)。

此处下载的是 gradle-8.4-bin.zip 文件。

Gradle 发布地址在:https://gradle.org/releases/

将文件解压到 D:\tools,那么目录结构如下:

在这里插入图片描述
新增环境变量 GRADLE_HOME,值为 D:\tools\gradle-8.4。编辑 PATH 变量,增加条目 %GRADLE_HOME%\bin

打开 CMD 窗口,输入以下命令测试 Gradle 是否安装成功。

$ gradle -v------------------------------------------------------------
Gradle 8.4
------------------------------------------------------------Build time:   2023-10-04 20:52:13 UTC
Revision:     e9251e572c9bd1d01e503a0dfdf43aedaeecdc3fKotlin:       1.9.10
Groovy:       3.0.17
Ant:          Apache Ant(TM) version 1.10.13 compiled on January 4 2023
JVM:          11.0.17 (Oracle Corporation 11.0.17+10-LTS-269)
OS:           Windows 11 10.0 amd64

初始化

初始化的构建任务名称是 wrapper,在初始化之前先介绍一下这个任务支持的参数:

  • --gradle-version,作用是指定指定构建 Wrapper 的 Gradle 的版本,默认情况下是使用和执行 wrapper 任务相同的 Gradle 的版本,指定了之后会下载指定版本的 Gradle 并执行 wrapper 构建。使用方式是在后面增加 --gradle-version=xxx,此属性允许以下值:
    • latest
    • release-candidate
    • nightly
    • release-nightly
    • 具体的版本号,比如:7.5
  • --distribution-type,Wrapper 使用的 Gradle 的类型,分别有 bin(默认)all。这两种区别是 bin 仅含有二进制文件,而 all 还包含源码和 demo 代码,可以在 IDEA 中编写 Gradle 文件获得代码自动补全。当然下载 all 类型的文件的体积比 bin 的大。
  • --gradle-distribution-url,Wrapper 下载 Gradle 发布包的 HTTP 链接。这个默认是使用官方的链接,当然可以替换成国内的镜像源,速度 可能 会快一点。
  • --gradle-distribution-sha256-sum,验证下载的 Gradle 文件的 SHA256 哈希值,确保文件在下载过程中没有被篡改或者损坏。
  • --network-timeout,指定下载 Gradle 文件的超时时间,默认 10000,单位是毫秒(ms)。
  • --no-validate-url--validate-url,这两个是成对的参数,表示是否启用对 URL(--gradle-distribution-url参数指定) 的验证,默认启用。

    验证 URL 的方式为:假如是 HTTPS 就发送一个 HEAD 请求;如果是文件系统,就检查文件是否存在。

到现在终于可以真正初始化了。

  1. 首先新建 D:\test\gradle-wrapper-test 目录。

  2. 新建文件 settings.gradle,表示这是个 Gradle 项目。

  3. 在这个目录里面运行 CMD 命令:

    $ gradle wrapper --gradle-version=7.5 --distribution-type=all
    

执行完成后,查看 gradle\wrapper\gradle-wrapper.properties文件:

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

就这么一步就已经完成了使用 Wrapper 方式创建 Gradle 项目。

另外假如需要使用 Gradle 构建此项目,比如运行 build 任务,注意要使用项目下的 gradlew.bat(Unix 系统使用 gradlew)。

还有一个地方需要说明,上面的 gradle-wrapper.properties 文件中 distributionBasezipStoreBase 的值都是 GRADLE_USER_HOME(不是 GRADLE_HOME),此处 GRADLE_USER_HOME 是环境变量,Gradle 下载的发行包以及所有的依赖都在这个目录下面,默认的目录是 ${user_home}\.gradle,而 ${user_home} 一般在 C 盘,所以如果想要节省 C 盘空间的话,可以将这个环境变量明确配置到别的位置。

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

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

相关文章

c语言:模拟实现各种字符串函数

strlen函数: 功能:获取到\0之前的的字符个数。 代码模拟实现函数: //strlen //这里用了递归法, //如abc,1bc,然后11c,接着111,最后读取到\0,1110,得到结果3…

Day40力扣打卡

打卡记录 包子凑数(裴蜀定理 DP) 根据裴蜀定理,存在 c gcd(a, b) 使不定方程ax by c满足条件,如果gcd(a, b) 1即a与b互素的情况下,就会 ax by 1,由于为1可以构造后面的无穷数字,故得到结…

深入了解Java8新特性-日期时间API之ZonedDateTime类

阅读建议 嗨,伙计!刷到这篇文章咱们就是有缘人,在阅读这篇文章前我有一些建议: 本篇文章大概19000多字,预计阅读时间长需要10分钟以上。本篇文章的实战性、理论性较强,是一篇质量分数较高的技术干货文章&…

离散系统的频域分析(数字信号处理实验2-1)

创建具有15 Hz和40 Hz分量频率的信号,叠加两个信号形成混合信号x,使用fft命令绘制x的频域图,标注频率为横坐标,平均能量为纵坐标。 文章目录 一.题目二.实验目的三.实验仪器四.实验原理1.MATLAB使用函数2.离散傅里叶变换(DFT)实验…

Python 装饰器与偏函数

目录 装饰器 概念 简单的装饰器 复杂点的装饰器 通用装饰器 定义通用装饰器 使用装饰器 偏函数 引入类库 应用 总结 装饰器 概念 装饰器就是个闭包;把一个函数当做参数,返回一个修改过功能的函数; 本质上是一个返回函数的函数。…

Mysql单表查询练习

一、单表查询 素材: 表名:worker-- 表中字段均为中文,比如 部门号 工资 职工号 参加工作 等 CREATE TABLE worker (部门号 int(11) NOT NULL,职工号 int(11) NOT NULL,工作时间 date NOT NULL,工资 float(8,2) NOT NULL,政治面貌 varchar(10…

jdk动态代理和CGLIBE代理

静态代理:由程序员创建或特定工具自动生成源代码,再对其编译。在程序运行前,代理类的.class文件就已经存在了。 动态代理:在程序运行时,运用反射机制动态创建而成。 使用jdk的反射机制,创建对象的能力&…

ck 配置 clickhouse-jdbc-bridge

背景 ck可以用过clickhouse-jdbc-bridge技术来直接访问各数据库,包括oracle,oracle也可以用jdbc,odbc没调研过 规划 jdbc-bridge是面向客户端的技术,也就是说,那个节点有客户端,哪个节点就需要&#xff…

C语言——计算Fibonacci数列

方式一 for循环 (20位) #define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h> int main() {int n;int a[20]{1,1};for ( n 1; n <20; n){a[n]a[n-2]a[n-1];}for ( n 0; n < 20; n){if(n%50)printf("\n");printf("%12d ",a[n]);}return 0; …

nodejs+vue+mysql皮具行李箱包包网上商城购物网站

本系统可分为两个大的模块&#xff0c;即前台用户模块和后台管理员模块&#xff0c;前台用户模块用户可以进行浏览查询皮具的各种信息&#xff0c;添加购物车&#xff0c;下订单等各种操作。后台管理员模块管理员可以进行皮具的处理&#xff0c;还有处理订单&#xff0c;皮具分…

【shell】文本三剑客之sed详解

目录 一、sed简介&#xff08;行编辑器&#xff09; 二、基本用法 三、sed脚本格式&#xff08;匹配地址 脚本命令&#xff09; 1、不给地址&#xff0c;那么就是针对全文处理 2、单地址&#xff0c;表示#&#xff0c;指定的行&#xff0c;$表示最后一行&#xff0c;/pattt…

redis运维(十二) 位图

一 位图 ① 概念 1、说明&#xff1a;位图还是在操作字符串2、位图玩字符串在内存中存储的二进制3、ASCII字符通过映射转化为二进制4、操作的是字符串value ② ASCII字符铺垫 1、控制ASCII字符 2、ASCII可显示字符 ③ SETBIT 细节&#xff1a; setbit 命令的返回值是之…

Vue + Element UI 实现复制当前行数据功能及解决复制到新增页面组件值不更新的问题

文章目录 引言第一部分&#xff1a;复制当前行数据功能的实现1.1 环境准备1.2 创建表格并渲染数据1.3 解决复制的数据不更新问题 第二部分&#xff1a;拓展知识2.1 Vue的响应性原理2.2 Element UI的更多用法 结语 Vue Element UI 实现复制当前行数据功能及解决复制到新增页面组…

数据结构与算法--特殊的完全二叉树--堆,堆排序,利用堆解决topk的问题

目录 前言 1.树概念及结构 1.1树的概念 1.2 树的相关概念 1.3 树的表示 1.4 树在实际中的运用&#xff08;表示文件系统的目录树结构&#xff09; 2.二叉树概念及结构 2.1概念 2.2现实中的二叉树&#xff1a; 2.3 特殊的二叉树&#xff1a; 2.4 二叉树的性质 …

SimpleDateFormat在多线程下的安全问题

目录 情景重现 SimpleDateFormat解析 解决方案 局部变量 加锁 使用线程变量 使用DateTimeFormatter 情景重现 SimpleDateFormat类是Java开发中的一个日期时间的转化类。它可以满足绝大多数的开发场景&#xff0c;但是在高并发下会出现并发问题。接下来查看下文中的案例。…

php的字符转义函数有那些,是干什么的

在 PHP 中&#xff0c;字符转义函数是用于处理字符串中的特殊字符&#xff0c;以防止这些字符被误解、滥用或引起安全问题的一组函数。这些函数的主要作用是确保在将用户提供的数据插入到数据库、构建 HTML 输出或进行其他与安全相关的操作时&#xff0c;不会导致潜在的安全漏洞…

enum常用方法 - Java

六、enum常用方法 0、准备工作1、name()2、ordinal()3、values()4、valueOf()5、compareTo()6、toString() 说明&#xff1a;使用关键字enum时&#xff0c;会隐式 继承 Enum类&#xff0c;这样我们就可以使用 Enum 类相关的方法。 0、准备工作 enum Season2 {SPRING("…

Django快速搭建静态网页

Django的快速搭建 这个是例子 这个是一个目录 项目名称&#xff1a;项目似乎被命名为DJ0928&#xff0c;这是Django项目的根目录。 文件都是Django项目的核心配置文件。 settings.py 包含了项目的配置设置。urls.py 定义了项目的URL路由。wsgi.py 和 asgi.py 分别用于Web服务器…

springboot集成springsecurity

转载自&#xff1a;www.javaman.cn 1、整合springsecurity 添加pom.xml <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</artifactId> </dependency>2、springsecurity认证授权流程…

uniapp挽留提示2.0

项目需求&#xff1a;有时候挽留的ui是全屏的&#xff0c;用page-container也可以。后来产品提了个问题&#xff0c;手机侧滑的时候没那么顺畅&#xff08;就是一用侧滑&#xff0c;就显示出来&#xff0c;产品要的方案是如下图&#xff0c;emmm大概是这个意思&#xff09; 后面…