gradle安装及配置
gradle介绍
1. 介绍
Gradle 是一款Google 推出的基于 JVM、通用灵活的项目构建工具,支持 Maven,JCenter 多种第三方仓库;支持传递性依赖管理、废弃了繁杂的xml 文件,转而使用简洁的、支持多种语言(例如:java、groovy 等)的 build 脚本文件。
官网地址: https://gradle.org/
官方下载地址:https://gradle.org/releases/
学习Gradle 的原因:
- 目前已经有相当一部分公司在逐渐使用Gradle作为项目构建工具了。
- 作为Java开发程序员,如果想下载Spring、SpringBoot等Spring家族的源码,基本上基于Gradle构建的。
虽然目前常见的项目构建工具有Ant、Maven、Gradle,主流还是Maven,但是未来趋势可能是Gradle。
2. 常见的项目构建工具
Ant: 2000 年 Apache 推出的纯Java 编写构建工具,通过 xml[build.xml]文件管理项目
- 优点:使用灵活,速度快(快于 gradle 和 maven),
- 缺点:Ant 没有强加任何编码约定的项目目录结构,开发人员需编写繁杂XML 文件构建指令,对开发人员是一个挑战。
Maven: 2004 年Apache 组织推出的再次使用xml 文件[pom.xml]管理项目的构建工具。
- 优点: 遵循一套约定大于配置的项目目录结构,使用统一的GAV 坐标进行依赖管理,侧重于包管理。
- 缺点:项目构建过程僵化,配置文件编写不够灵活、不方便自定义组件,构建速度慢于 gradle。
Gradle: 2012 年Google 推出的基于Groovy 语言的全新项目构建工具,集合了Ant 和 Maven 各自的优势。
- 优点:集 Ant 脚本的灵活性+Maven 约定大于配置的项目目录优势,支持多种远程仓库和插件,侧重于大项目构建。
- 缺点:学习成本高、资料少、脚本灵活、版本兼容性差等。
gradle安装
gradle必须先安装JDK如未安装可参考:安装JDK
要求JDK 为 1.8 或者 1.8 版本以上为佳。
查看JDK版本
java -version
1. 下载
官方下载地址:https://gradle.org/releases/
解压到指定目录: E:\pgm\gradle-6.9.1
2. 配置
变量名: GRADLE_HOME
变量值: E:\pgm\gradle-6.9.1(实际情况而定)
在Path变量中新建
:
%GRADLE_HOME%\bin
通过
gradle -v
来查看是否配置成功
显示版本号则安装成功
gradle项目结构
gradlew.bat—>包装器启动脚本
build.gradle—>构建脚本,类似于maven中的pom.xml
settings.gradle—>设置文件,定义项目及子项目名称信息,和项目是一一对应关系
build.gradle文件
1. Repositories
repositories {
//gradle中会按着仓库配置的顺序,从上往下依次去对应的仓库中找所需要的jar包:
//如果找到,则停止向下搜索,如果找不到,继续在下面的仓库中查找
//指定去本地某个磁盘目录中查找:使用本地file文件协议:一般不用这种方式
maven { url 'file:///D:/repos/mavenrepos3.5.4'} maven { url "$rootDir/lib/release" }
//指定去maven的本地仓库查找
mavenLocal()
//指定去maven的私服或者第三方镜像仓库查找
maven { name "Alibaba" ; url "https://maven.aliyun.com/repository/public" } maven { name "Bstek" ; url "https://nexus.bsdn.org/content/groups/public/" }
//指定去maven的远程仓库查找:即 https://repo.maven.apache.org/maven2/
mavenCentral()
//去google仓库查找google()
}
因为 Gradle 没有自己的远程仓库,而是使用 Maven、jcenter、jvy、google 这些远程仓库。
2. dependencies
依赖的方式
Gradle 中的依赖分别为直接依赖,项目依赖,本地jar 依赖。案例如下:
dependencies {
//①.依赖当前项目下的某个模块[子工程]
implementation project(':subject01')
//②.直接依赖本地的某个jar文件
implementation files('libs/foo.jar', 'libs/bar.jar')
//②.配置某文件夹作为依赖项
implementation fileTree(dir: 'libs', include: ['*.jar'])
//③.直接依赖
implementation 'org.apache.logging.log4j:log4j:2.17.2'
}
- 直接依赖:在项目中直接导入的依赖,就是直接依赖implementation ‘org.apache.logging.log4j:log4j:2.17.2’ 上面是简写法,完整版写法如下:
implementation group: ‘org.apache.logging.log4j’, name: ‘log4j’, version: ‘2.17.2’
group/name/version 共同定位一个远程仓库,version 最好写一个固定的版本号,以防构建出问题,implementation 类似
maven 中的依赖的scope,对比 maven 中的依赖:
<dependencies>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.12</version>
<scope>compile</scope>
</dependency>
</dependencies>
-
项目依赖: 从项目的某个模块依赖另一个模块
implementation project(‘:subject01’)
这种依赖方式是直接依赖本工程中的libary module,这个 libary module 需要在setting.gradle 中配置。 -
本地jar 依赖:本地 jar 文件依赖,一般包含以下两种方式
//直接依赖某文件
implementation files('libs/foo.jar', 'libs/bar.jar')
//配置某文件夹作为依赖项
implementation fileTree(dir: 'libs', include: ['*.jar'])
3. ext 用户自定义属性
Project 和 Task 都允许用户添加额外的自定义属性,要添加额外的属性,通过应用所属对象的ext 属性即可实现。添加之后可以通过 ext 属性对自定义属性读取和设置,如果要同时添加多个自定义属性,可以通过 ext 代码块:
//自定义一个Project的属性
ext.age = 18
//通过代码块同时自定义多个属性
ext {
phone = 19292883833
address="北京"
}
task extCustomProperty {
//在task中自定义属性
ext {
desc = "奥利给"
}
doLast {
println " 年 龄 是 :${age}" println "电话是:${phone}" println "地址是:${address}" println "啊啊:${desc}"
}
}
测试:通过 gradle extCustomProperty
输出结果为:
年龄是:18
电话是:19292883833
地址是:北京啊啊:奥利给
4. Subprojects 与 Allprojects
allprojects 是对所有project(包括Root Project+ child Project[当前工程和所有子工程])的进行统一配置,而subprojects
是对所有Child Project 的进行统一配置。
gradle构建jar
今天的文章gradle安装及配置教程_安卓gradle是什么「建议收藏」分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/72401.html