Gradle学习笔记:Gradle的使用方法

news2024/10/7 8:30:49

文章目录

    • 1.初始化项目
    • 2.构建脚本语言选择
    • 3.项目命名
    • 4.项目构建过程

1.初始化项目

创建一个test空文件夹,在该文件夹下打开终端,并执行命令:gradle init.
会有一个选项让你选择项目的类型。下面是每个选项的含义和用途:

  • basic:基本项目。这是一个最简单的项目类型,适用于创建简单的Java应用程序或库。

  • application:应用程序项目。这个选项适用于创建一个可以独立运行的应用程序,例如一个命令行工具或一个桌面应用程序。

  • library:库项目。这个选项适用于创建一个可以被其他项目引用的库,例如一个Java类库或一个Android库。

  • Gradle plugin:Gradle插件项目。这个选项适用于创建一个自定义的Gradle插件,用于扩展和定制Gradle构建系统的功能。

2.构建脚本语言选择

  • 在Gradle中,可以选择使用Kotlin或Groovy作为构建脚本DSL。这两种DSL都有各自的优点和用途。

  • 如果你熟悉Kotlin语言,选择Kotlin作为构建脚本DSL可能更适合你。

  • Kotlin提供了更强大的类型检查和静态分析,使得构建脚本更加健壮和可维护。

  • Kotlin还提供了更简洁的语法和更好的IDE支持,使得编写和调试构建脚本更加方便。

  • 如果你熟悉Groovy语言,选择Groovy作为构建脚本DSL可能更适合你。

  • Groovy的语法更加灵活和简洁,编写构建脚本更方便和快速。

  • Groovy在Gradle社区中更为流行,有更多的资源和插件可供使用。

  • 总之,选择哪种语言作为构建脚本DSL取决于你的个人偏好和项目需求。

  • 如果需要更强大的类型检查和静态分析,那么选择Kotlin。

  • 如果需要更灵活和简洁的语法,那么选择Groovy。
    这里我们选择basic,脚本构建语言选择Groovy,生成的目录效果截图如下。
    在这里插入图片描述

3.项目命名

  • 输入项目名称test_gradle, 然后回车确定。
  • “Generate build using new APIs and behavior" 用于指定是否使用新的API和行为来生成构建。默认情况下,该选项是关闭的(即默认值为"no”),如果选择启用该选项(即选择"yes"),则Gradle将使用最新的API和行为来生成构建。这可能会导致一些功能在未来的次要版本中发生变化。我们这里输入yes。

注意,具体的API和行为变化取决于Gradle的版本和您的构建脚本中使用的插件和功能。
在这里插入图片描述
这样所有的初始阶段的构建就算完成了,生成如下目录结构。
在这里插入图片描述

├── .gradle
├── gradle
│   └── wrapper
|       └── gradle-wrapper.jar          // 下载所需Gradle
|       └── gradle-wrapper.properties   // 配置文件
├── build.gradle      // 用于定义项目的构建过程、依赖关系和其他配置选项
├── gradle.properties //  定义各种全局属性,比如版本号、应用名称、依赖库版本等
├── gradlew         // Linux 可执行脚本
├── gradlew.bat     // Windows 可执行脚本
└── settings.gradle // 构建配置文件。定义Gradle项目的结构和模块

4.项目构建过程

执行gradle build命令,会在当前目录中查找名为build.gradle或build.gradle.kts的构建脚本文件,并根据其中的内容执行构建任务。构建脚本定义了项目的结构、依赖关系、任务和插件等信息。构建过程会自动下载依赖项,并执行编译源代码、运行单元测试、生成文档和打包可执行文件等。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

cg插画设计行业怎么样,如何学习插画设计

插画设计行业是一个充满创意和艺术性的行业,随着数字化时代的不断发展,cg插画的应用范围越来越广泛,市场需求也在逐年增长。以下是一些关于acg插画设计行业的现状和发展趋势: 市场需求不断增长:随着广告、媒体、影视、…

图像读写(imgcodecs 模块)与视频读写

内置格式 OpenCV 可以在没有任何第三方库帮助的情况下读取以下格式: BMP的 高动态范围 (WITH_IMGCODEC_HDR) 太阳栅格 (WITH_IMGCODEC_SUNRASTER) PPM、PGM、PBM、PFM(、WITH_IMGCODEC_PXMWITH_IMGCODEC_PFM) PNG、JPEG、TIFF、WEBP 支持 格式选择…

C语言第九弹---二维数组

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】 二维数组 1、二维数组的创建 1.1、二维数组的概念 ​1.2、⼆维数组的创建 2、二维数组的初始化 2.1、不完全初始化 ​2.2、完全初始化 ​2.3、按照行初始化 ​2.4、…

C++实用教程(四):面向对象核心多态 笔记

推荐B站视频:C现代实用教程(四):面向对象核心多态_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV15v4y1M7fF/?spm_id_from333.999.0.0&vd_sourcea934d7fc6f47698a29dac90a922ba5a3 本项目通用的tasks.json文件和launch.json tasks.json {"versi…

TMS智慧园区物流系统:提升化工园区管理效率的最佳选择

在化工行业园区中,企业面临着诸多痛点,如人工管理流程复杂、园区堵车、园区安全管理不到位、设备资产管理缺失、环境管理混乱无章、数据无法追溯等。这些问题不仅影响企业的生产效率和经济效益,还可能对员工的生命安全和环境造成潜在威胁。为…

uniapp封装公共的方法或者数据请求方法

仅供自己参考,不是每个页面都用到这个方法,所以我直接在用到的页面引用该公用方法: 1、新建一个util.js文件 export const address function(options){return new Promise((resolve,reject)>{uni.request({url:"https://x.cxniu.…

C# 命名管道管道NamedPipeServerStream使用

NamedPipeServerStream 是 .NET Framework 和 .NET Core 中提供的一个类,用于创建和操作命名管道的服务器端。命名管道是一种在同一台计算机上或不同计算机之间进行进程间通信的机制。 命名管道允许两个或多个进程通过共享的管道进行通信。其中一个进程充当服务器&…

CentOS网络配置进阶:深入研究network服务和NetworkManager

前言 如果你正在使用CentOS系统,并且想要深入了解网络管理和配置,那么本文肯定适合你!在这篇文章中,作者深入探讨了CentOS中的两种网络管理方式:network服务和NetworkManager。通过详实的讲解和实用的示例,你将会学习到如何使用这两种工具来管理网络接口、配置IP地址、网…

外贸邮件群发软件有哪些?邮件群发的系统?

外贸邮件群发软件哪个比较好?外贸开发信软件推荐? 对于许多外贸企业来说,邮件营销是一种非常有效的推广方式。那么,外贸邮件群发软件就成为了必备的工具。蜂邮EDM将为你揭秘几款主流的外贸邮件群发软件,助你更好地开展…

用javadoc生成springboot的文档

概述:生成 Spring Boot 项目的 JavaDoc 文档与生成普通的 Java 项目类似。 目录 第一步:创建一个springboot项目 第二步:编写pom文件 第三步:运行 Maven 命令生成 JavaDoc 第四步:查看结果 第一步:创建…

海外媒体发稿:出口贸易媒体发稿推广8种方法让您事半功倍-华媒舍

通过出口贸易媒体发稿可以帮助企业拓展市场、提升知名度,从而取得更好的出口贸易业绩。在进行媒体发稿时,需要确定目标受众,编写吸引人的标题,提供有价值的内容,并选择合适的媒体平台和发布时间。通过持续改进和优化&a…

自然语言NLP学习

2-7 门控循环单元(GRU)_哔哩哔哩_bilibili GRU LSTM 双向RNN CNN 卷积神经网络 输入层 转化为向量表示 dropout ppl 标量 在物理学和数学中,标量(Scalar)是一个只有大小、没有方向的量。它只用一个数值就可以完全…

docker之部署青龙面板

青龙面板是一个用于管理和监控 Linux 服务器的工具,具有定时运行脚本任务的功能。在实际情况下也可以用于一些定期自动签到等任务脚本的运行。 本次记录下简单的安装与使用,请提前安装好docker,参考之前的文章。 一、安装部署 1、拉取镜像 # …

小迪安全21WEB 攻防-JavaWeb 项目JWT 身份攻击组件安全访问控制

#知识点: 1、JavaWeb 常见安全及代码逻辑 2、目录遍历&身份验证&逻辑&JWT 3、访问控制&安全组件&越权&三方组件 Java:大部分都是第三方插件出现漏洞 webgoat的搭建:——java靶场 JDK版本要求:11.0…

图形绘制QGraphicsView、QGraphicsScene、QGraphicsItem、Qt GUI

QGraphicsView、QGraphicsScene、QGraphicsItem 和 Qt GUI(QGuiApplication)可以用来构建和管理基于图形的用户界面。 一、它们之间的关系: QGuiApplication 作为应用程序的基础,提供了窗口和事件管理等功能。 QGraphicsView 则…

15- OpenCV:模板匹配(cv::matchTemplate)

目录 1、模板匹配介绍 2、cv::matchTemplate 3、模板匹配的方法(算法) 4、代码演示 1、模板匹配介绍 模板匹配就是在整个图像区域发现与给定子图像匹配的小块区域。 它可以在一幅图像中寻找与给定模板最相似的部分。 模板匹配的步骤: &a…

中移(苏州)软件技术有限公司面试问题与解答(4)—— virtio所创建的设备2

接前一篇文章:中移(苏州)软件技术有限公司面试问题与解答(4)—— virtio所创建的设备1 在上一篇文章中,对于面试所提出的问题“virtio会创建哪些设备?”,有了初步答案,即…

基于python和定向爬虫的商品比价系统实现

目录 前言 一、系统设计 1. 系统需求分析 2. 系统设计思路 二、系统实现 1. 爬虫部分 2. 比价部分 3. 完整系统代码 三、系统优化 1. 多线程爬取 2. 引入数据库 四、总结 前言 商品比价系统是一种可以帮助用户快速找到最优价格商品的系统。本文将介绍如何使用pyth…

开源的API Gateway项目- Kong基于OpenResty(Nginx + Lua模块)

Kong 是一个在 Nginx 内运行的开源 API 网关和微服务抽象层。它是用于处理 API 流量的灵活、可扩展、可插入的工具。 Kong 提供了以下功能: 用户登录:Kong 提供了多种认证插件,像 JWT、OAuth 2.0 等,可以满足用户登录需求。Toke…

Linux---文件系统

在基础IO中,我们所讲的都是对被打开文件的管理,但是不是所有的文件都是被打开的,对那些在磁盘中保存的没有被打开的文件,我们同样也需要管理,这个就像是快递站中等待被人取走的快递,我们需要将它们分门别类…