
- 外文名
- gradle
- 整体设计
- 以作为一种语言为导向
- 音 标
- [g'reɪdl]
- 中文名
- gradle
- 基 础
- Groovy 语言
- 服务对象
- Java应用
-
gradle各版本下载地址
2016-08-16 11:17:25以前都是手动下载gradle的文件,然后修改的,现在从官网上面来解决更新gradle的问题。 android studio更新与gradle的更新: 1、先下载android studio的最新版本,这一步直接点击AS开发环境的update即可 2、下载gradle各版本下载地址:https://services.gradle.org/distributions/
Android studio版本和Gradle版本对照关系:
最新的对照关系请移步:https://developer.android.google.cn/studio/releases/gradle-plugin.html#updating-gradle
下面是正文:
以前都是手动下载gradle的文件,然后修改的,今天想从一些博客网站上下载最新的gradle,可是找不到,后来找到了官网上去下载,下面是解决的步骤。
android studio更新与gradle的更新:
1、先下载android studio的最新版本,这一步直接点击AS开发环境的update即可
2、下载gradle。打开上述各版本下载地址的链接,复制最新版本的链接(一般都是复制gradle-X.X-all.zip的链接),找到你所在项目文件夹下的这个目录\gradle\wrapper\gradle-wrapper.properties,把gradle-wrapper.properties最后一行的链接替换为刚刚复制的链接,这个下载的过程是相当的慢,不过为了确保是在执行的,你可以不断的去查看这个文件的大小,以得安心
3、执行gradlew build命令。在terminal中输入gradlew build执行命令,耐心的等待直到出现build successful下载最新的包成功了
4、重新编译项目验证可行性
除此之外,常见的解决方案还有:
1、gradle-wrapper.properties的属性修改(
我的是distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1.zip
),一定要和下面的distribution一致,如图:
-
Gradle的使用教程
2018-08-08 19:28:28Gradle是一个好用的构建工具 ,使用它的原因是: 配置相关依赖代码量少,不会像maven一样xml过多 打包编译测试发布都有,而且使用起来方便 利用自定义的任务可以完成自己想要的功能 二、安装 下载地址...一、相关介绍
Gradle是一个好用的构建工具 ,使用它的原因是:
- 配置相关依赖代码量少,不会像maven一样xml过多
- 打包编译测试发布都有,而且使用起来方便
- 利用自定义的任务可以完成自己想要的功能
二、安装
下载地址http://services.gradle.org/distributions/ ,下载你所需要对应的版本,我这里下载的是gradle-4.7-bin.zip。下载后解压到你想要的目录即可,然后设置环境变量:
在cmd模式下查看,出现以下信息证明安装成功:
然后我们可以在在环境变量里配置gradle默认的仓库地址(和maven不太一样):
三、IED中的使用
1、IDEA
使用idea创建一个web的Gradle项目
然后对项目进行打包运行:
双击war
打包完成之后的war文件会在:
然后把war放入对应的tomcat目录即可,这里就不多解释了。
2、Eclipse
eclipse中要自己安装插件,插件路径为:http://download.eclipse.org/buildship/updates/e46/releases/2.x/ 。
四、问题说明
1、解释build.gradle和settings.gradle
首先是一个项目包含group、name、version 。settings.gradle是用来管理多项目的,里面包含了项目的name
在build.gradle中,apply是应用的插件,如:
这里我们用了java和war的插件 ,dependencies是用于声明这个项目依赖于哪些jar
这里说明的是,测试编译阶段我们依赖junit的jar。其中包括complile(编译时)runtime(运行时)testCompile(测试编译时)testRuntime(测试运行时)。repositories是一个仓库gradle会根据从上到下的顺序依次去仓库中寻找jar
这里我们默认的是一个maven的中心仓库 ,从gradle源代码中我们看到地址是这样的
这里可以进行配置,其中mavenLocal()表示使用本地maven仓库;mavenCentral()使用maven中心仓库 。使用固定的地址,这里可以使用阿里云(maven {url 'http://maven.aliyun.com/nexus/content/groups/public/'})的镜像下载速度会快一些,然后也可以使用公司内部的私服地址 。
附加,这里加上一个spring boot的gradle配置文件,可以和maven的构建对比一下
// buildscript 代码块中脚本优先执行 buildscript { // ext 用于定义动态属性 ext { springBootVersion = '1.5.2.RELEASE' } // 自定义 Thymeleaf 和 Thymeleaf Layout Dialect 的版本 ext['thymeleaf.version'] = '3.0.3.RELEASE' ext['thymeleaf-layout-dialect.version'] = '2.2.0' // 自定义 Hibernate 的版本 ext['hibernate.version'] = '5.2.8.Final' // 使用了 Maven 的中央仓库(你也可以指定其他仓库) repositories { //mavenCentral() maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' } } // 依赖关系 dependencies { // classpath 声明说明了在执行其余的脚本时,ClassLoader 可以使用这些依赖项 classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}") } } // 使用插件 apply plugin: 'java' apply plugin: 'eclipse' apply plugin: 'org.springframework.boot' // 打包的类型为 jar,并指定了生成的打包的文件名称和版本 jar { baseName = 'springboot-test' version = '1.0.0' } // 指定编译 .java 文件的 JDK 版本 sourceCompatibility = 1.8 // 默认使用了 Maven 的中央仓库。这里改用自定义的镜像库 repositories { //mavenCentral() maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' } } // 依赖关系 dependencies { // 该依赖对于编译发行是必须的 compile('org.springframework.boot:spring-boot-starter-web') // 添加 Thymeleaf 的依赖 compile('org.springframework.boot:spring-boot-starter-thymeleaf') // 添加 Spring Security 依赖 compile('org.springframework.boot:spring-boot-starter-security') // 添加 Spring Boot 开发工具依赖 //compile("org.springframework.boot:spring-boot-devtools") // 添加 Spring Data JPA 的依赖 compile('org.springframework.boot:spring-boot-starter-data-jpa') // 添加 MySQL连接驱动 的依赖 compile('mysql:mysql-connector-java:6.0.5') // 添加 Thymeleaf Spring Security 依赖,与 Thymeleaf 版本一致都是 3.x compile('org.thymeleaf.extras:thymeleaf-extras-springsecurity4:3.0.2.RELEASE') // 添加 Apache Commons Lang 依赖 compile('org.apache.commons:commons-lang3:3.5') // 该依赖对于编译测试是必须的,默认包含编译产品依赖和编译时依 testCompile('org.springframework.boot:spring-boot-starter-test') }
-
在IDEA里gradle配置和使用
2018-06-13 19:32:23在IDEA里gradle配置和使用 在IDEA里gradle配置和使用 前言 Windows环境IDEA配置gradle 配置系统环境变量 下载 配置环境变量 测试 idea配置 gradle仓库设置 构建命令 创建缓存依赖 gradle.build构建脚本 ...在IDEA里gradle配置和使用
前言
有人说Gradle使用groovy语言编写,简单,明了没像maven使用xml臃肿,其实我倒不觉得,我觉得maven挺好的,管理jar依赖和项目生命周期挺方便的,我使用gradle只是因为公司用,不然我估计不会学习gradle。下面是gradle的优点,自己斟酌吧。
1. 按约定声明构建和建设;
2. 强大的支持多工程的构建;
3. 强大的依赖管理(基于Apache Ivy),提供最大的便利去构建工程;
4. 全力支持已有的 Maven 或者Ivy仓库基础建设;
5. 支持传递性依赖管理,在不需要远程仓库和pom.xml和ivy配置文件的前提下;
6. 基于groovy脚本构建,其build脚本使用groovy语言编写;
7. 具有广泛的领域模型支持构建;
8. 深度 API;
9. 易迁移;
10. 自由和开放源码,Gradle是一个开源项目,基于 ASL 许可。
Windows环境IDEA配置gradle
配置系统环境变量
为了使用gradle命令,idea里使用不了命令。比如编译命令
gradle build
下载
gradle安装包下载地址,解压到“
D:\soft\gradle\gradle-4.8
”配置环境变量
打开环境配置,新建系统环境“GRADLE_HOME”,值为
D:\soft\gradle\gradle-4.8
,找到path变量,后面添加%GRADLE_HOME%\bin;
。测试
在cmd命令里输入
gradle -v
如果能打出版本号,说明环境配置完毕。idea配置
在D盘新建文件
.gradle
(使用dos命令mkdir .gradle
),做为gradle下载的jar包仓库主目录,默认在C:\Users\Administrator\.gradle
.
打开file->setting->Build,Execution,Deployment->Gradle,修改如下:
Gradle home
指定了gradle文件目录
Service directory path
指定了gradle工作主目录
gradle仓库设置
建议如下设置
repositories { mavenLocal() maven { url "http://maven.aliyun.com/nexus/content/groups/public/"} mavenCentral() jcenter() maven { url "https://repo.spring.io/snapshot" } maven { url "https://repo.spring.io/milestone" } maven { url 'http://oss.jfrog.org/artifactory/oss-snapshot-local/' } //转换pdf使用 }
存储库只是文件的集合,按分组,名称和版本来组织构造。 默认情况下,Gradle不定义任何存储库。 这里使用repositories 指定存储库。
mavenLocal():指定使用maven本地仓库,而本地仓库在配置maven时setting文件指定的仓库位置。如<localRepository>D:/repository</localRepository>
,同时将setting
文件拷贝到C:\Users\Administrator\.m2
目录下,一般该目录下是没有setting
文件的,gradle查找jar包顺序如下:gradle默认会按以下顺序去查找本地的仓库:USER_HOME/.m2/settings.xml >> M2_HOME/conf/settings.xml >> USER_HOME/.m2/repository。
maven { url "http://maven.aliyun.com/nexus/content/groups/public/"}
:指定阿里云镜像加速地址
mavenCentral():这是Maven的中央仓库,无需配置,直接声明就可以使用
jcenter():JCenter中央仓库,实际也是是用的maven搭建的,但相比Maven仓库更友好,通过CDN分发,并且支持https访问。
后面的maven { url 地址}
,指定maven仓库,一般用私有仓库地址或其它的第三方库
gradle按配置顺序寻找jar文件。如果本地存在就不会再去下载。不存在的再去maven仓库下载,这里注意下载下来的jar文件不在maven仓库里,而是在gradle的主工作目录下,如上面的D:\.gradle
目录
参考《Gradle实战》如何配置利用Maven本地仓库
构建命令
清理命令
gradle clean
构建打包命令
gradle clean build
编译时跳过测试,使用
-x
,-x
参数用来排除不需要执行的任务gradle clean build -x test
创建缓存依赖
执行命令
gradle clean build --refresh-dependencies
或删除.gradle/caches目录,构建的时候它会下载所有依赖并加入到缓存中。
阿里云镜像
buildscript { repositories { maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' } maven{ url 'http://maven.aliyun.com/nexus/content/repositories/jcenter'} }
参考gradle配置国内镜像
gradle.build构建脚本
build.gradle是Gradle默认的构建脚本文件,执行Gradle命令的时候,会默认加载当前目录下的build.gradle脚本文件。
gradle.build脚本如下:buildScript { repositories { mavenCentral() } } repositories { mavenCentral() }
buildScript里的repositories是这个脚本需要的依赖库,与项目无关,在执行脚本时,会从这个库里download对应的jar和插件。第二个repositories是项目里需要依赖的jar的库。
查看项目已定义的所有task以及含义
命令
gradle tasks
比如结果如下
- assemble: 编译
- build:编译并执行测试
- clean:删除build目录
- jar: 生成jar包
- test:执行单元测试
maven项目转换为gradle项目
根目录执行
gradle init --type pom
上面的命令会根据pom文件自动生成gradle项目所需的文件和配置,然后以gradle项目重新导入即可。
settings.gradle配置
是模块Module配置文件,大多数setting.gradle的作用是为了配置子工程,根目录下的settings.gradle脚本文件是针对module的全局配置,它的作用域所包含的所有module是通过settings.gradle来配置。
settings.gradle用于创建多Project的Gradle项目。Project在IDEA里对应Module模块。
例如配置module名rootProject.name = 'DyoonPLM'
-
gradle配置国内镜像
2017-11-02 11:19:28使用阿里云国内镜像对单个项目生效,在项目中的build.gradle修改内容buildscript { repositories { maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' } maven{ url '...使用阿里云国内镜像
对单个项目生效,在项目中的
build.gradle
修改内容buildscript { repositories { maven { url 'https://maven.aliyun.com/repository/google/' } maven { url 'https://maven.aliyun.com/repository/jcenter/'} } dependencies { classpath 'com.android.tools.build:gradle:2.2.3' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { maven { url 'https://maven.aliyun.com/repository/google/' } maven { url 'https://maven.aliyun.com/repository/jcenter/'} } }
对所有项目生效,在
${USER_HOME}/.gradle/
下创建init.gradle
文件allprojects{ repositories { def ALIYUN_REPOSITORY_URL = 'https://maven.aliyun.com/repository/public/' def ALIYUN_JCENTER_URL = 'https://maven.aliyun.com/repository/jcenter/' def ALIYUN_GOOGLE_URL = 'https://maven.aliyun.com/repository/google/' def ALIYUN_GRADLE_PLUGIN_URL = 'https://maven.aliyun.com/repository/gradle-plugin/' all { ArtifactRepository repo -> if(repo instanceof MavenArtifactRepository){ def url = repo.url.toString() if (url.startsWith('https://repo1.maven.org/maven2/')) { project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_REPOSITORY_URL." remove repo } if (url.startsWith('https://jcenter.bintray.com/')) { project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_JCENTER_URL." remove repo } if (url.startsWith('https://dl.google.com/dl/android/maven2/')) { project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_GOOGLE_URL." remove repo } if (url.startsWith('https://plugins.gradle.org/m2/')) { project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_GRADLE_PLUGIN_URL." remove repo } } } maven { url ALIYUN_REPOSITORY_URL } maven { url ALIYUN_JCENTER_URL } maven { url ALIYUN_GOOGLE_URL } maven { url ALIYUN_GRADLE_PLUGIN_URL } } }
-
android studio的安装(补充篇gradle失败的问题更新于 2021-01-20)
2020-02-19 16:15:26gradle资源包是通过android studio 远程访问安卓的gradle仓库进行下载的 难免会出现网络不佳,以及被墙的情况(并不是所有人都会遇到) 开始正文: 1.现象说明 gradle失败会显示这个界面 2.首先确认自己的g... -
gradle插件版本和gradle版本对应关系
2017-03-21 12:46:091、gradle插件版本配置位置: project对应的build.gradle文件中 buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:1.2.3' } } 2、gradle... -
Android studio的 gradle project sync failed
2017-06-09 10:42:58创建项目之后,Android studio 报错 gradle project sync failed.Basic functionality(e.g.editing,debugging) will not work properly. 解决方案是:C:\Users\admin\.gradle\wrapper\dists\gradle-3.3-all\7nykk4k6... -
gradle-3.3-all.zip 绿色版本,欢迎下载
2017-01-09 10:47:43官网下载不成功的,可以直接在这里下载。 官网原下载地址:https://services.gradle.org/distributions/ -
gradle版本引起编译报错问题:Cause: org.jetbrains.plugins.gradle.tooling.util....
2019-03-17 13:16:21Cause: org.jetbrains.plugins.gradle.tooling.util.ModuleComponentIdentifierImpl.getModuleIdentifier() 究其原因,是gradle版本导致的。从它的报错也能看出,跟我们自己写的代码无关。 怎么改呢? 凡应用gradle... -
Android Studio 4.1 的 gradle-6.5-all.zip 下载(包含其他版本)
2017-11-06 14:49:43Android Studio 3.5正式版已经发布了,同时gradle的版本也进行了更新。跟往常一样,在AS上下载gradle的速度实在是太慢了,导致项目一直无法编译,在此将下载出来的gradle-5.4.1分享出来:gradle-5.4.1-all.zip ... -
Gradle打包问题Deprecated Gradle features were used in this build, making it incompatible with Gradle...
2020-01-06 12:03:08说明本地环境的gradle版本太高,不支持之前的语法和特性,所以导致报错。所以我们需要修改本地的gradle版本。 解决步骤 操作环境:IDEA 1:打开gradle-wrapper.properties 项目---gradle目录---wrapper目录---... -
IDEA如何正确配置Gradle? GRADLE_USER_HOME 和 Gradle user home的区别
2020-06-08 14:38:22GRADLE_USER_HOME 和 Gradle user home的区别缘起目标GRADLE_USER_HOME和Gradle user home的区别GRADLE_USER_HOMEGradle user homeIDEA Gradle user home的坑如何验证这个坑?最终解决方案第一种解决方案,不下载... -
解决refreshing gradle project 和Building gradle project info 一直卡住\速度慢
2016-07-23 09:50:34转载请标明出处:...强烈建议学习进阶和实用的Gradle知识分析原因:更改Gradle的版本后,或者更新AS后,再次打开Android studio 会根据指定的url去Gradle官网下载新版文件,所需时间过长, -
gradle的build.gradle详解
2019-06-28 15:07:52一个项目中只放置一个build.gradle,build.gradle可以理解为一个Project框架,提供了对一个项目的基本配置。 project的常用: 属性: group name(artifact) version项目版本(全局的) sourceCompatibility = ... -
gradle-wrapper.jar gradle-wrapper.properties 是干什么的
2017-04-25 15:53:09gradle -
Windows下gradle的安装与配置
2018-07-12 00:03:38下载gradle 直接百度gradle,然后点击链接进去就可以找到,这里附上下载链接:gradle下载 安装gradle 解压下载下来的zip压缩包,如图(我下载的是gradle-4.8.1-bin.zip) 配置环境变量 右键 “计算机”–”... -
Gradle版本与Gradle插件版本
2019-06-12 13:55:23Gradle版本与Gradle插件版本 1、Gradle版配置位置: gradle-wrapper.properties中: distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip 2、Gradle插件版本配置位置: project对应的... -
Gradle | Gradle项目无法导入依赖包
2019-07-14 17:38:03Gradle | Gradle项目无法导入依赖包 背景 今天使用idea导入一个Gradle项目,使用 gradle build构建成功,但是项目还是无法正常导入依赖包,显示错误如下: 解决方案 后来经过排查是由于idea版本识别不了该gradle... -
Gradle详解
2018-08-30 22:49:54先看下Gradle的定义: Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置。 抽住定义中的核心就是... -
gradle文件中引入其他gradle文件
2018-10-08 20:03:35安卓项目中,gradle文件也逐渐变得臃肿起来,需要分开管理,否则一大堆在一起,就很难维护了。 解决方案: 采用apply from: 'xx.gradle'这样的语句就可以引入其他gradle文件了。 Demo(集成aspectj): 1.... -
Gradle:Gradle入门
2015-12-28 23:59:08一、安装Gradle 1.首先确保你安装的JDK1.5或以上版本; C:\Users\chengxiang.peng.QUNARSERVERS>java -version java version "1.8.0_65" Java(TM) SE Runtime Environment (build 1.8.0_65-b17) Java HotSpot... -
Android Gradle和Gradle插件(Android Gradle plugin)区别
2018-11-22 15:51:46什么是Gradle插件(Android Gradle plugin)? build.gradle中依赖的classpath 'com.android.tools.build:gradle:2.1.2'和 gradle-wrapper.properties中的distributionUrl=... -
Gradle——安装Gradle
2015-10-19 09:13:221、先决条件Gradle需要安装Java 1.6及以上的JDK或JRE。Gradle附带自己的Groovy库,因此不需要安装Groovy。任何已存在的Groovy都会被Gradle忽略。Gradle使用你机器路径中的JDK,另外,你可以设置JAVA_HOME环境变量... -
Gradle build.gradle配置
2018-05-20 20:06:50Gradle build.gradle配置 每个构建脚本build.gradle都有一个默认的Project的实例,脚本中所有的操作都在project实例的作用域 1 项目信息 项目信息指项目的坐标 //group version为project的方法 //项目... -
Gradle插件和Gradle对应表
2019-07-08 12:43:00Gradle插件build.gradle文件的buildscript Gradlegradle/wrapper/gradle-wrapper.properties文件 AndroidStudio版本 classpath 'com.android.tools.build:gradle:2.1.2' distributionUrl=... -
idea gradle 一直卡在gradle:configure build、gradle下载依赖很慢、gradle配置阿里云镜像
2020-04-02 18:19:31解决方法: 1.设置->...2.删除C:\Users\Administrator\.gradle和D:\gradle-6.3目录下的caches目录 3.在项目所在目录下运行:gradle bootRun(下载依赖 这个过程中有时候网络很慢 可以用手机热点下载) ... -
gradle构建的项目中的build.gradle和settings.gradle文件
2019-05-28 08:47:33gradle构建的项目有build.gradle和settings.gradle文件 build.gradle - 文件包含项目构建所使用的脚本。 settings.gradle - 文件将包含必要的一些设置,例如,任务或项目之间的依懒关系等 settings.gradle配置 ... -
Gradle - Linux gradle安装和升级
2017-03-31 15:30:29Gradle - Linux gradle安装和升级 -
Gradle笔记——Gradle的简介与安装
2014-10-15 13:22:40这一篇博客,主要是面向对Gradle有所耳闻,但却没有一个比较清晰的概念的。在这篇博客里,将对Gradle进行一个简单的介绍,以及它的安装。 Gradle介绍 Gradle是一个基于JVM的构建工具,它提供了: 像Ant一样,... -
Gradle基础--认识Gradle
2015-11-18 15:25:04有人用android studio开发android项目,发现经常接触到Gradle,但是对它又不会有很大的关注,而当你的Gradle报错,或者从github,csdn上下载开源项目的时候,一旦出现gradle的错误,你就棘手了,所有我们还是很有...
-
SYN6288-语音合成芯片PC端演示程序.exe
-
Java Web开发之Java语言基础
-
C++异步串口通信
-
HowToReadSVFromIEC61850MU.docx
-
年结3 - ECC财务会计(FI)年结解析 - FAGLGVTR/F.07 / AJAB / AJRW
-
PHP支付宝微信支付配置教程
-
Java无损导出及转换word文档
-
android笔试面试和实战课程
-
2021-01-23
-
python的使用(数据分析常用的库)
-
完全数
-
LeetCode-200-岛屿数量
-
Sharding-JDBC(数据分片)学习记录
-
iLO4-v2.77+中文语言包v2.70.zip
-
【数据分析-随到随学】Hadoop数据分析
-
《设计模式》中文版.rar
-
CoordinatorLayout和AppBarLayout 嵌套滑动时抖动的一个原生bug
-
W5500网口电路(原理图及PCB)
-
【保姆级】IDEA SpringBoot热部署及遇到的坑
-
我的Python心路历程 第十一期 (11.1 初探python调试总结之基础篇)