Gradle - 构建

Gradle - 构建 首页 / Gradle入门教程 / Gradle - 构建

Gradle构建(Build)是创建Gradle项目的过程。当运行gradle命令时,它将在当前目录中查找名为 build.gradle 的文件。此文件也称为 Gradle构建脚本。此文件中描述了构建配置(configuration),任务(tasks)和插件(plugins)。构建脚本描述了一个项目及其任务。

让无涯教程创建一个小的Gradle项目,运行一些基本的Gradle命令,并了解Gradle如何管理该项目。

请按照以下步骤创建和测试Gradle项目。

第1步 - 打开命令行并创建目录

首先,打开命令行并为项目创建目录,然后将目录更改为该目录。创建一个演示目录。

Gradle Build

第2步 - 初始化Gradle项目

要生成Gradle项目,请运行 gradle init 命令。它将生成一个简单的项目。通过这个项目,将探索并理解所产生的一切。当运行gradle init命令时,它将要求一些基本要求。首先,它将询问要创建的项目类型。它将提供四个选项:

1: basic
2: application
3: library
4: Gradle plugin

目前只是在制作一个演示项目,所以在这选择basic选项。要选择basic选项,请按 1 Enter 键。考虑以下输出:

Gradle Build

接下来,它将要求输入 DSL 。 DSL有两个选项:

1: Groovy
2: Kotlin

Groovy是Gradle提供的默认DSL。选择构建脚本DSL

Gradle Build

接下来,它将要求输入项目名称。输入项目名称,然后按Enter键。建立项目需要一段时间。成功执行项目后,无涯教程会收到一条消息 BUILD SUCCESSFUL

Gradle Build

现在,已经成功创建了Gradle项目。现在,无涯教程指定的目录会发生什么?考虑一下Gradle项目的以下结构。

Gradle Build

它是Gradle项目的默认结构。 Gradle将为生成以下内容:

  1. gradle 文件是用于配置当前项目的构建脚本。
  2. 可执行JAR 文件用作Gradle包装器。
  3. Gradle包装器(Wrapper)的配置属性
  4. gradlew 是用于基于UNIX的操作系统的Gradle包装器脚本。
  5. bat是Windows的Gradle Wrapper脚本。
  6. 用于配置Gradle构建的设置脚本(settings script)

第3步 - 创建任务

Gradle支持用于通过基于Groovy的DSL或基于Kotlin的DSL创建和管理任务的API。每个项目都包含一些基本操作的任务集合。

Gradle支持配置项目的任务库。例如,有一个复制任务,它将文件从一个位置复制到另一位置。复制任务是Gradle中最常用的任务之一。

要在构建脚本中使用复制任务,请执行以下过程。

第一步 - 创建一个名为src的目录。

Gradle Build

第二步 - 在src目录中添加一个名为 myfile.txt 的文件。添加单行" Hello,World!"同样,可以将其留空。

Gradle Build

build.gradle 文件中定义一个名为Copy的任务。它将src目录复制到一个名为dest的新目录。不必创建dest目录。

task copy(type: Copy, group: "Custom", description: "The sources are copied to dest directory") {
    from "src"
    into "dest"
}

可以在组(group)和描述(description)中提供任何内容。同样,可以省略它们,但是这样做也将在以后使用的任务报告中省略。现在执行新复制任务:

Gradle Build

成功执行任务后,将收到 BUILD SUCCES SFUL消息。

build.gradle文件

build.gradle文件是Gradle项目的构建脚本,所有任务和插件都在此文件中定义。

当无涯教程运行gradle命令时,它将在当前目录中查找一个名为build.gradle的文件。尽管将其称为构建脚本,但严格来说,它是构建配置脚本。构建脚本定义项目及其任务。

默认的 build.gradle 文件如下所示:

Gradle Build

build.gradle 文件包含三个默认部分。它们如下:

  • plugins               -  在本部分中,可以应用java-library插件添加对Java库的支持。
  • Repositories    -  在本部分中,可以声明内部和外部存储库以解决依赖关系。可以声明Gradle支持的不同类型的存储库,例如Maven,Ant和Ivy。
  • Dependencies - 在本节中,可以声明特定主题所必需的依赖关系。

此外,可以在此文件中声明其他与项目相关的模块,例如任务。

显示项目信息

为了了解构建的结构,依赖关系和调试问题,Gradle提供了许多内置功能来在项目上显示信息。

链接:https://www.learnfk.comhttps://www.learnfk.com/gradle/gradle-build.html

来源:LearnFk无涯教程网

以下是一些用于显示项目信息的基本命令:

列出项目

在Gradle中,可以在层次结构中列出工作区中项目的所有子项目。为此,请从项目的根目录运行以下命令。

gradle -q projects

 Gradle Build

列出任务

Gradle允许无涯教程列出项目的所有基本任务。要列出任务,请运行以下命令:

gradle -q tasks

输出:


C:\Users\HiMaNshU\eclipse-workspace>gradle -q tasks
------------------------------------------------------------
Tasks runnable from root project
------------------------------------------------------------
Build Setup tasks
-----------------
init - Initializes a new Gradle build.
wrapper - Generates Gradle wrapper files.
Help tasks
----------
buildEnvironment - Displays all buildscript dependencies declared in root projec
t 'eclipse-workspace'.
components - Displays the components produced by root project 'eclipse-workspace
'. [incubating]
dependencies - Displays all dependencies declared in root project 'eclipse-works
pace'.
dependencyInsight - Displays the insight into a specific dependency in root proj
ect 'eclipse-workspace.'
dependentComponents : It displays the dependent components of components in the root pr
oject 'eclipse-workspace.' [incubating]
help - Displays a help message.
model - Displays the configuration model of root project 'eclipse-workspace.' [incubating]
projects - Displays the sub-projects of root project 'eclipse-workspace.'
properties - Displays the properties of root project 'eclipse-workspace.'
tasks - Displays the tasks runnable from root project 'eclipse-workspace.'
To see all tasks and more detail, run gradle tasks --all
To see more detail about a task, run gradle help --task <task>

要列出项目的所有任务,请运行以下命令:

gradle tasks -all

要显示有关任务的更多详细信息,请运行以下命令:

gradle help --task

列出依赖项

在Gradle中,无涯教程可以列出按配置细分的依赖项。要列出依赖关系,请运行以下命令:

gradle -q dependencies

输出:

Gradle Build

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

从0开始学大数据 -〔李智慧〕

从0开始做增长 -〔刘津〕

深入拆解Tomcat & Jetty -〔李号双〕

架构实战案例解析 -〔王庆友〕

物联网开发实战 -〔郭朝斌〕

郭东白的架构课 -〔郭东白〕

反爬虫兵法演绎20讲 -〔DS Hunter〕

零基础GPT应用入门课 -〔林健(键盘)〕

工程师个人发展指南 -〔李云〕

好记忆不如烂笔头。留下您的足迹吧 :)