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

news/2024/5/20 2:17:14 标签: java, gradle

gradle_1">1.maven与gradle的比较:

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

2.maven目录结构:

  • target
    • classes
  • src
  • pom.xml

gradle_21">3.gradle目录结构:

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

gradle_42">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的目录执行

gradle_54">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初始化脚本

gradle_wrapper_65">6.gradle wrapper

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

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

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

gradlewrapperproperties_77">7.gradle-wrapper.properties文件解读

存储项目wrapper对应的gradle配置

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

http://www.niftyadmin.cn/n/5465061.html

相关文章

【Axure视频教程】字符串组合函数(中继器分类筛选案例)

今天教大家在Axure里如何使用字符串组合函数,我们会先学习该函数的基础,然后通过标签选中、取消选中来控制表格对应的内容是否显示的案例,来学习怎么应该这个函数。具体效果可以打开下方试看版视频观看 【视频教程——试看版】 【Axure教程】…

2024.2.14力扣每日一题——二叉树的层序遍历

2024.2.14 题目来源我的题解方法一 递归实现(前序遍历记录深度)方法二 非递归实现(队列) 题目来源 力扣每日一题;题序:102 我的题解 方法一 递归实现(前序遍历记录深度) 在递归遍…

tcp服务端,时刻在线

C TCP 服务端和客户端通信的例子 在此基础上&#xff0c;将服务端改为时刻在线 #include <iostream> #include <winsock2.h> #include <Ws2tcpip.h> // for inet_ntop#pragma comment(lib, "Ws2_32.lib")#define PORT 8080int main() {WSADATA ws…

TopK问题解决方案

问题&#xff1a;给定一个海量数据的n&#xff0c;要求从n中提取出最大/最小/重复频度最高的K个数&#xff08;K相对于n较小&#xff0c;如n为10亿量级&#xff0c;而K为100&#xff09; 解决方案&#xff1a; 方案1&#xff1a;n个数排序&#xff0c;选取排序后的第k个数&…

机器学习——卷积神经网络中的其他类型

机器学习——卷积神经网络中的其他类型 卷积神经网络&#xff08;Convolutional Neural Networks, CNNs&#xff09;是深度学习领域中最重要的技术之一&#xff0c;它在图像处理、语音识别、自然语言处理等领域取得了巨大成功。在CNN中&#xff0c;卷积层是最核心的组成部分之…

郭天祥新概念51单片机(第四期读书笔记)

时钟周期、状态周期、机器周期、指令周期与晶振频率之间的关系 1、晶振频率与脉冲的关系 假设单片机的晶振频率是12MHz&#xff0c;那么它的一个脉冲为1/12微秒&#xff1b;晶振单位时间发出的脉冲则为&#xff1a; 12 ∗ 1 0 6 12*10^6 12∗106。 假设单片机的晶振频率是4MH…

centos7 fatal error: curl/curl.h: No such file or directory

若编译遇到此问题&#xff0c;可以查看环境是否libcurl库 yum list installed | grep libcurl 发现未安装libcurl库 执行libcurl库的安装命令&#xff1a; 1.对于Debian/Ubuntu系统&#xff1a; sudo apt-get install libcurl4-openssl-dev 2.对于RHEL/CentOS系统&#xf…

Kepler无代码:让应用开发0门槛,普通人秒变“大神”!

Kepler无代码平台&#xff1a;让普通人也能成为软件系统开发者 Kepler无代码&#xff1a;让应用开发0门槛&#xff0c;普通人秒变“大神”&#xff01; 在数字化时代&#xff0c;软件开发应用已成为我们生活和工作中不可或缺的一部分。 然而&#xff0c;对于大多数人来说&…