首页 >> 大全

1--Gradle入门 - 简介、安装、目录结构、创建项目

2024-01-04 大全 31 作者:考证青年

1--入门 - 简介、安装、目录结构、创建项目 官网

官网地址: Build Tool

官方下载安装教程页面:

官方用户手册:

1. 入门 1.1 简介

是一款推出的,基于JVM,通用灵活的项目构建工具,支持Maven、多种第三方仓库;支持传递性依赖管理,废弃了繁杂的xml文件,转而使用简洁的、支持多种语言(Java、)的build脚本文件。

官网地址:

1.2 常见项目构建工具

Maven:2004年组织推出的再次使用xml文件[pom.xml]管理项目的构建工具

:2012年Goole推出的基于语言的全新项目构建工具,集合了Ant和Maven各自的优势。

1.3 安装 “

官方文档明确指出:目前的插件需要 6.8版本及其以上

IDEA与也存在兼容性问题:IDEA安装目录\\\lib下查看当前版本IDEA支持的版本

1.3.1 安装说明

官网:

官方下载安装教程页面:

官方用户手册:

官方文档明确指出,目前 的 插件需要 6.8 版本及以上

其中 与 存在版本兼容问题, 与Idea 也存在兼容问题,所以考虑到 java 程序员会使用,所以要选择 6.8 版本及高于 6.8 版本的,那么相应的idea 版本也要升级,不能太老哦。

具体参考文档:#-

我当前 Idea 的版本:2022.1.4

最简单查看 与 Idea 兼容版本的方式,可以直接查看 Idea 的插件:

D:\Program Files\JetBrains\IntelliJ IDEA 2022.1.4\plugins\gradle\lib

可以看到,兼容的 版本为 7.4,所以后续我们就安装 7.4 的

1.3.2 安装JDK

要求Jdk 为 1.8 或者 1.8 版本以上。

1.3.3 下载

|

下载二进制安装包后,在本地解压,如下:

1.3.4 配置环境变量

配置 就是 解压的路径:

GRADLE_HOME
D:\JavaInstall\gradle-7.4.2

配置 PATH,设置 的 bin 路径:

%GRADLE_HOME%\bin

配置 ,相当于配置 本地仓库位置和 缓存目录。

注意:本地仓库可以和Maven本地仓库目录一致

GRADLE_USER_HOME
D:\JavaInstall\apache-maven-3.6.3\repository

1.3.5 检测是否安装成功

创建结构柱的方法和步骤__创建结构模型的方法

-v 或者 --

C:\Users\lijw>gradle --versionWelcome to Gradle 7.4.2!Here are the highlights of this release:- Aggregated test and JaCoCo reports- Marking additional test source directories as tests in IntelliJ- Support for Adoptium JDKs in Java toolchainsFor more details see https://docs.gradle.org/7.4.2/release-notes.html------------------------------------------------------------
Gradle 7.4.2
------------------------------------------------------------Build time:   2022-03-31 15:25:29 UTC
Revision:     540473b8118064efcc264694cbcaa4b677f61041Kotlin:       1.5.31
Groovy:       3.0.9
Ant:          Apache Ant(TM) version 1.10.11 compiled on July 10 2021
JVM:          1.8.0_91 (Oracle Corporation 25.91-b15)
OS:           Windows 10 10.0 amd64C:\Users\lijw>

1.3.6 修改Maven下载源

自带的Maven源地址是国外的,很慢,我们使用国内的第三方开放的Maven源或者企业内部的Maven源。

配置Maven下载源,并且启用

我们可以在的init.d目录下,创建以.结尾的文件,.文件可以实现在build开始之前执行。所以我们可以在这个文件中配置预先加载的操作

在init.d目录下,创建一个init.文件

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/' }}}
}

配置 环境变量

注意:这里配置中有 () 就是说明首先使用 maven 的本地仓库获取依赖。

如果要生效,则需要配置配置环境变量,操作如下:

变量名:M2_HOME
变量值:D:\JavaInstall\apache-maven-3.6.3(maven安装路径)

拓展 1:启用init. 文件的方法有:

1.在命令行指定文件,例如:gradle --init-script yourdir/init.gradle -q taskName。你可以多次输入此命令来指定多个init文件2.把init.gradle文件放到 USER_HOME/.gradle/ 目录下1. 把以.gradle结尾的文件放到 USER_HOME/.gradle/init.d/ 目录下
2. 把以.gradle结尾的文件放到 GRADLE_HOME/init.d/ 目录下如果存在上面的4种方式的2种以上,gradle会按上面的1-4序号依次执行这些文件,如果给定目录下存在多个init脚本,会按拼音a-z顺序执行这些脚本,每个init脚本都存在一个对应的gradle实例,你在这个文件中调用的所有方法和属性,都会委托给这个gradle实例,每个init脚本都实现了Script接口。

拓展 2:仓库地址说明

mavenLocal(): 指定使用maven本地仓库,而本地仓库在配置maven时settings文件指定的仓库位置。如E:/repository,gradle 查找jar包顺序如下:USER_HOME/.m2/settings.xml >> M2_HOME/conf/settings.xml >> USER_HOME/.m2/repositorymaven { url 地址},指定maven仓库,一般用私有仓库地址或其它的第三方库【比如阿里镜像仓库地址】。mavenCentral():这是Maven的中央仓库,无需配置,直接声明就可以使用。jcenter():JCenter中央仓库,实际也是是用的maven搭建的,但相比Maven仓库更友好,通过CDN分发,并且支持https访问,在新版本中已经废弃了,替换为了mavenCentral()。总之, gradle可以通过指定仓库地址为本地maven仓库地址和远程仓库地址相结合的方式,避免每次都会去远程仓库下载依赖库。这种方式也有一定的问题,如果本地maven仓库有这个依赖,就会从直接加载本地依赖,如果本地仓库没有该依赖,那么还是会从远程下载。
但是下载的jar不是存储在本地maven仓库中,而是放在自己的缓存目录中,默认在USER_HOME/.gradle/caches目录,当然如果我们配置过`GRADLE_USER_HOME`环境变量,则会放在`GRADLE_USER_HOME/caches`目录,那么可不可以将gradle caches指向maven repository。
我们说这是不行的,caches下载文件不是按照maven仓库中存放的方式。

拓展 3:阿里云仓库地址请参考:

1.4 项目目录结构

项目默认的目录结构,和Maven项目的目录结构一致,都是基于约定大于配置

Tips:

1.5 创建项目

创建项目有多种方式,下面将会首先介绍两种:

1.5.1 借助 脚手架创建项目

借助于 脚手架创建 第一个项目:

将生成的 zip 包,解压缩后,查看目录结构如下:

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

- gradle 封装包装器文件夹
- src    源码文件夹
- gradlew
- gradlew.bat 包装器启动脚本
- build.gradle 构建脚本,类似maven的pom.xml
- settings.gradle 设置文件

1.5.2 使用命令行的方式创建项目

初始化命令:

gradle init

首先创建 demo2 目录,然后执行 init 命令,初始化如下:

# 初始化 gradle 项目
D:\javaProject\demo\demo2>gradle init
Starting a Gradle Daemon (subsequent builds will be faster)# 选择工程的类型,这里选择 2,初始化为应用工程
Select type of project to generate:1: basic2: application3: library4: Gradle plugin
Enter selection (default: basic) [1..4] 2# 选择工程的语言:这里选择3,选择Java
Select implementation language:1: C++2: Groovy3: Java4: Kotlin5: Scala6: Swift
Enter selection (default: Java) [1..6] 3# 选择单体应用、还是多模块应用:这里选择1,单体应用
Split functionality across multiple subprojects?:1: no - only one application project2: yes - application and library projects
Enter selection (default: no - only one application project) [1..2]# 选择脚本语言:这里选择1,使用Groovy语言
Select build script DSL:1: Groovy2: Kotlin
Enter selection (default: Groovy) [1..2] 1# 选择是否使用新的API:这里选择默认no
Generate build using new APIs and behavior (some features may change in the next minor release)? (default: no) [yes, no]# 选择测试模块:这里选择JUnit4
Select test framework:1: JUnit 42: TestNG3: Spock4: JUnit Jupiter
Enter selection (default: JUnit Jupiter) [1..4] 1# 填写工程、包名
Project name (default: demo2):
Source package (default: demo2):> Task :init
Get more help with your project: https://docs.gradle.org/7.4.2/samples/sample_building_java_applications.htmlBUILD SUCCESSFUL in 45s
2 actionable tasks: 2 executed
D:\javaProject\demo\demo2>

生成的工程目录如下:

虽然我们可以使用命令生成工程,不过一般开发也不会这样去做,所以这里熟悉一下就好了。

1.6 常用指令

1.6.1 :编译业务代码和配置文件

我们进入前面创建的 demo 项目,然后执行 编译生成文件:

1.6.2 clean:清空build目录

1.6.3 test:编译测试代码,生成测试报告

创建结构柱的方法和步骤_创建结构模型的方法_

1.6.4 build -x test:跳过测试,构建项目

生成的jar包如下:

1.7 包装器

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

例如:把自己的代码共享给其他人使用,可能出现如下情况:

对方电脑没有安装

对方电脑安装过 ,但是版本太旧了

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

的 使用

那如何使用 呢?

和.bat的使用方法与的使用方法一样。区别如下:

1. 下载 的 版本压缩包

在 demo 工程目录下,我们可以看看 的配置文件,如下:

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

-. 文件解读:

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

如果我们使用 命令,那么将会执行对应的 的 jar 包,执行如下:

gradlew --version

在上面执行 -- 的时候,下载对应版本的 zip 包,由于下载特别慢,导致解压报错。

解决的方式:

可以直接手动复制下载的地址进行下载,然后直接到 //dists 进行解压如下:

然后再次执行 -- 如下:

2.指令 与 指令 使用的 版本可以不同

3.使用 控制 版本

我们也可以在终端执行 指令的时候,指定一些参数,来控制的生成,比如:依赖的版本等

具体操作如下所示 :

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

4. 的执行流程:

当我们第一次执行 ./ build 命令的时候, 会读取 -. 文件的配置信息

准确的将指定版本的 下载并解压到指定的位置(目录下的/dists目录中)

并构建本地缓存(目录下的目录中),下载再使用相同版本的就不用下载了

之后执行的 ./ 所有命令都是使用指定的 版本。如下图所示:

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

下载别人的项目或者使用操作以前自己写的不同版本的项目时:用 ,也即:

什么时候使用本地?新建一个项目时: 使用指令即可。

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了