【Gradle 一】Gradle入门简介(Maven/Gradle比较、Gradle目录结构常用命令)

1.maven与gradle的比较:

  1. 侧重点:同样作为项目构建工具,maven侧重于项目jar包管理,gradle侧重于项目的构建
  2. 构建性能:gradle远高于maven

2.maven目录结构:

  • target
    • classes
  • src
    • main
      • java
      • resources
    • test
      • java
      • resources
  • pom.xml

3.gradle目录结构:

  • build:封装编译后的字节码、打成的包[Jar/War]、测试报告等,对应maven中的target目录
  • gradle:封装包装器文件夹
    • wrapper
      • gradle-wrapper.jar
      • gradle-wrapper.properties
  • src
    • main
      • java
      • resources
    • test
      • java
      • resources
  • gradlew
  • gradlew.bat:包装器启动脚本
  • build.gradle:构建脚本,类似maven中的pom.xml
  • settings.gradle:设置文件,定义项目及子项目名称信息,和项目是一一对应关系

4.gradle常用命令:

  1. gradle clean:清空build目录
  2. gradle classes:编译src-main目录下的源代码和配置文件
  3. gradle test:编译src-test目录下的测试代码,生成测试报告
  4. gradle build:构建项目(编译-测试-打包)
  5. gradle build -x test:跳过测试构建

以上gradle命令均需要在含有build.gradle的目录执行

5.启动gradle初始化脚本:

gradle底层也是从maven仓库中下载jar包,有一些maven仓库在国外下载缓慢,可以通过启用init.gradle的方式,设置maven下载地址为国内镜像源。启动方式有以下几种:

  1. 将以.gradle结尾的文件放到 USER_HOME/.gradle/ 目录下
  2. 将以.gradle结尾的文件放到 USER_HOME/.gradle/init.d/ 目录下
  3. 将以.gradle结尾的文件放到 GRADLE_HOME/init.d/ 目录下

如果存在多种启动方式,会按照1-3序号依次执行gradle初始化脚本

6.gradle wrapper

gradle wrapper是对gradle的一层封装,用于解决实际开发中可能会遇到的不同项目需要不同版本gradle的问题:

  1. 对方电脑没有装gradle
  2. 对方电脑安装的gradle版本较低
  3. 有了gradle wrapper之后,如果本地不配置gradle,下载gradle项目后,使用项目自带的wrapper操作也可以

项目中的gradlew、gradlew.bat脚本用的就是wrapper中规定的gradle版本(在命令行中用gradle命令调用的是本地安装的gradle、gradlew调用的是wrapper中的gradle)

7.gradle-wrapper.properties文件解读

存储项目wrapper对应的gradle配置

  1. distributionBase:下载gradle压缩包解压后存储的主目录
  2. zipStoreBase:同distributionBase,存放zip文件

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

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

相关文章

Reversing Linked List

Given a constant K and a singly linked list L, you are supposed to reverse the links of every K elements on L. For example, given L being 1→2→3→4→5→6, if K3, then you must output 3→2→1→6→5→4; if K4, you must output 4→3→2→1→5→6. Input Specifi…

网络基础——ISIS

名词 ISIS:中间系统到中间系统,优先级是15集成化ISIS:这是在优化后,可以使用在OSI模型上的NET地址:由区域ID、系统ID和SEL组成,一台设备上最多配置3个NET地址,条件是区域号要不一致,…

Intel FPGA (7):adc adc128s102

Intel FPGA (7):adc adc128s102 前提摘要 个人说明: 限于时间紧迫以及作者水平有限,本文错误、疏漏之处恐不在少数,恳请读者批评指正。意见请留言或者发送邮件至:“Email:noahpanzzzgmail.com”。本博客的工程文件均存…

ApiFox 使用教程

ApiFox 使用教程 目录概述需求: 设计思路实现思路分析1.基本使用教程(Apifox 使用 Postman)Apifox 下使用 mockapifox 下 swaggerApifox 下使用 Jmeter 参考资料和推荐阅读 Survive by day and develop by night. talk for import biz , show…

用Python实现办公自动化(自动化处理PDF文件)

自动化处理 PDF 文件 目录 自动化处理 PDF 文件 谷歌浏览器 Chrome与浏览器驱动ChromeDriver安装 (一)批量下载 PDF 文件 1.使用Selenium模块爬取多页内容 2.使用Selenium模块下载PDF文件 3.使用urllib模块来进行网页的下载和保存 4.使用urllib…

关于OcenaBase v4.2中,分区转移和负载均衡的技术解读

OceanBase​​​​​​​​​​​​​​作为一款原生分布式数据库,其核心的技术特性之一是高可扩展性,其具体表现在两个方面: 首先,是灵活的扩缩容能力,包括垂直扩缩容和水平扩缩容: 垂直扩缩容&#xff…

Dubbo 3.x源码(18)—Dubbo服务引用源码(1)

基于Dubbo 3.1,详细介绍了Dubbo服务的发布与引用的源码。 此前我们学习了Dubbo的服务导出的源码,在DubboBootstrapApplicationListener#startSync方法中,在调用了exportServices方法进行服务导出之后,立即调用了referServices方法…

【ZZULIOJ】1025: 最大字符(Java)

目录 题目描述 输入 输出 样例输入 Copy 样例输出 Copy code 题目描述 给你三个ASCII字符(不含空白字符:包括空格、制表符\t、回车换行符\n),找出其中最大的那个 输入 输入包含三个字符,之间有一个空格隔开。 输出 输出ASCII码最大的那个字符…

神经网络汇聚层

文章目录 最大汇聚层平均汇聚层自适应平均池化层 最大汇聚层 汇聚窗口从输入张量的左上角开始,从左往右、从上往下的在输入张量内滑动。在汇聚窗口到达的每个位置,它计算该窗口中输入子张量的最大值或平均值。计算最大值或平均值是取决于使用了最大汇聚…

RISC-V/ARM mcu OpenOCD 调试架构解析

Risc-v/ARM mcu OpenOCD 调试架构解析 最近有使用到risc-v的单片机,所以了解了下risc-v单片机的编译与调试环境的搭建,面试时问到risc-v的调试可参看以下内容。 risc-v根据官方的推荐,调试器服务是选择OpenOCD,DopenOCD(开放片上…

【ROS笔记3】节点 和 命名空间 (通俗理解运用)

1. 前言 在ROS中,节点、话题、服务、参数等都可以有自己的命名空间(namespace)。命名空间是ROS用来组织和隔离不同资源的一种方式,确保了系统中的名字是唯一的,并允许同样的结构在不同的上下文中被重用。这就像在真实世界中的邮政系统,同一个城市里可以有多条同名的“梅花…

Python反爬案例——验证码的识别

验证码的识别 使用打码平台识别验证码 利用打码平台可以轻松识别各种各样的验证码,图形验证码、滑动验证码、点选验证码和逻辑推理验证码。打码平台提供了一系列API,只需要向API上传验证码图片,它便会返回对应的识别结果。 使用超级鹰平台…

深入理解指针1:指针变量、指针运算、野指针、const修饰指针

生活中我们把门牌号也叫地址,在计算机中我们把内存单元的编号也称为地址。C语⾔中给地址起 了新的名字叫:指针。 所以我们可以理解为:内存单元的编号地址指针 1、指针变量 我们知道的是:数组名是数组首元素的地址。也就是说&…

构建高可用性数据库架构:深入探索Oracle Active Data Guard(ADG)

随着企业数据规模的不断增长和业务的复杂化,数据库的高可用性和可靠性变得尤为重要。Oracle Active Data Guard(ADG)作为Oracle数据库提供的一种高可用性解决方案,在实时备份和灾难恢复方面发挥着重要作用。本文将深入探讨ADG的原…

中断服务程序模板

通常定时器初始化过程如下: ①对 TMOD赋值,以确定TO和T1的工作方式。 ②计算初值,并将初值写入THO、TLO或TH1、TL1。 ③中断方式时,则对IE赋值,开放中断。 ④使TRO或TR1置位,启动定时器/计数器定时或计数。 代码 利用定时器0工作方式1&…

轻松设置Facebook自动隐藏评论和删除评论功能

Facebook作为海外营销的最大流量平台之一,是很多跨境卖家争夺的市场,希望可以通过Facebook这个全球性的平台来推广自己的产品或服务。身处这个竞争激烈的市场,任何一条负面评论或不当言论出现在你的品牌页面上都可能影响到品牌形象&#xff0…

臻奶惠无人售货机:新零售时代的便捷消费革命

臻奶惠无人售货机:新零售时代的便捷消费革命 在新零售的浪潮中,智能无人售货机作为一个创新的消费模式,已经成为距离消费者最近的便捷购物点之一。这种模式不仅能够满足居民对消费升级的需求,还能通过建立多样化和多层次的消费体…

k8s练习-创建一个Deployment

创建Deployment 创建一个nginx deployment [rootk8s-master home]# cat nginx-deployment.yaml apiVersion: apps/v1 kind: Deployment metadata:name: nginx-deployment spec:selector:matchLabels:app: nginx # 配置pod的labelsreplicas: 2 # 声明2个副本template:metada…

spring boot自动配置原理-怎样回答这个问题

首先我们说一下自动配置的概念。 自动配置:遵循约定大约配置的原则,在boot程序启动后,起步依赖中的一些bean对象会自动注入到ioc容器 例子 程序引入spring-boot-starter-web 起步依赖,启动后,会自动往ioc容器中注入…

记一次 pdfplumber 内存泄漏导致的服务器宕机

有一个项目需求,要在每天凌晨5点的时候执行一个任务,获取一系列的PDF文件并解析。 后端是Django框架,定时任务用Celery来实现的。 本地跑没什么问题,但是一放到服务器上跑就会宕机,而且是毫无征兆的宕机,…