文档章节

maven用户试用gradle

大漠小北
 大漠小北
发布于 2015/01/20 11:00
字数 1079
阅读 4318
收藏 126

老话,适合的才是最好的。
此处不做gradle和maven的比较。只说下我,一个偏执的maven用户如何尝试使用gradle的经验。

我用maven好些年了,自己机器上还搭了个nexus。
最近看到有个demo需要gradle才能跑起来,于是打算尝试下。

首先gradle的下载、配置,对一个程序猿来说,这都不是事,如果这都搞不定,可能你有点点不太适合做这一行。
Win7下,直接用setx设置环境变量。
先设置gradle的安装目录或者说是解压缩出来的目录,这个目录下至少应该保留有bin、lib,其他文件或者目录偏执狂可以尽情删掉。

setx GRADLE_HOME "E:\gradle"

再把gradle的可执行文件路径加入到Path变量里。为什么要加?因为想不带路径的执行一个命令(exe、bat、cmd之类),就需要在命令搜索路径列表中把这个命令所在的路径加进去。

setx Path ".;%%GRADLE_HOME%%\bin;"

gradle和maven一样,都是要把jar包下到本地缓存起来的。
gradle可以复用maven的私有仓库和中央仓库。中央仓库什么的先不管,偏执狂大多关心的是gradle如何先复用maven已经下好的jar包,那些没有的jar包再下到gradle的缓存目录。

gradle官网和度娘给出的一些教程上,都说

repositories {
   mavenLocal()
}

命令行切到demo目录,执行gradle jettyRun试了试,C盘用户目录刷刷的下东西。
原因是gradle默认是下载C盘用户目录的。
度娘是不会告诉你如何设置一个长期的缓存目录的。谷哥知道,但是需要懂科学。
谷哥给了多种设置方法:系统环境变量、jvm环境变量、gradle命令行参数等等。我选择比较简单也相对长期的系统环境变量设置方式。
把gradle缓存目录指向了gradle安装目录下的.gradle目录

setx GRADLE_USER_HOME %GRADLE_HOME%\.gradle

设置完成后,删了C盘用户目录gradle下的东西。重新启动gradle jettyRun。这回没往C盘用户目录写了,写在了%GRADLE_HOME%\.gradle 这个目录里。mavenLocal()拼写没错啊,build.gradle也没错啊,但是以往maven下过的jar包还是在重复下,果断ctrl+c。

度娘问了半天是没结果的,从谷哥给的建议找到官网,上面介绍了复用maven本地仓库的搜索路径,主要是通过maven的settings.xml。
maven配置用的默认的那些朋友,自然不会碰到我这样的问题。因为可以直接在C盘用户目录找到这个settings.xml。
如果设置了M2_HOME的那些朋友,自然也不会碰到我这样的问题。因为可以直接在M2_HOME下的conf目录找到这个settings.xml。

像我这样只配了maven可执行路径到Path环境变量的朋友,自然会碰到我这样的问题。解决方法很easy,把M2_HOME这个环境变量加上,值就是maven的安装目录。

setx M2_HOME %MAVEN_HOME%

设置完成后,删了%GRADLE_HOME%\.gradle 这个目录的东西。重新启动gradle jettyRun。愉快的看着demo顺利启动了,没有重复下jar包,都利用的maven本地仓库已有的包。

送给爱折腾想尝试gradle的mavener。

题外话,eclipse的maven插件最近几个版本好像是已经集成了。起码kepler和luna都有的。gradle的插件要从springsource的插件库去装。蛋疼的CMCC网速下了好几次到一半都timeout了,幸好照猫画虎借了点科学姿势,配了代理顺利安装好了。gradle的插件里面的配置,建议手工写成gradle安装目录的地址。用默认配置的话,会自己下个gradle并且把缓存下到C盘。

很多时候需要找jar包的依赖树,maven的插件很直观的看到,gradle插件就比较头疼了,铁定是我不会用。想来想去,虽然gradle比较简洁、强大(执行自定义任务方面),最后还是觉得maven比较适合我,对我来说maven这个工具也算是最好的了。

© 著作权归作者所有

大漠小北
粉丝 4
博文 4
码字总数 2836
作品 0
成都
程序员
私信 提问
加载中

评论(21)

waylau
waylau
gradle 中文文档 https://github.com/waylau/books-collection
song314
song314

引用来自“Xushao”的评论

搞android开发,就知道gradle的强大了。

引用来自“loyal”的评论

哦?你写个系列文章,让我学习学习
+1 求大神分享
mz0827
mz0827

引用来自“soberh”的评论

用 > gradle dependencies 就可以看到依赖树了

引用来自“大漠小北”的评论

嗯嗯,后来看gradle的命令行是找到了,gradle是很好很强大的。但是在eclipse用习惯了,再开个cmd窗口执行命令就有点不爽了。maven的插件可以展示树形结构,还可以直接屏蔽某个树上的依赖jar,很是方便,而gradle的插件还有待发展。这不是gradle的错,是辅助工具不完善的问题。
所谓的maven的插件是哪个?求指教。我一直用的是intelliJ自带的
loyal
loyal

引用来自“Xushao”的评论

搞android开发,就知道gradle的强大了。
哦?你写个系列文章,让我学习学习
快乐杰哥
快乐杰哥
赞一个
n
nuc093
适合的才是最好的 能把maven 用好已经很不错。
ccor
ccor
无法和国外的coder比爽,需要多学更多额外的科学知识,多走许多的路……
Feng_Yu
Feng_Yu
可以将gradle仓库加上artifactory/nexus缓存库,mavenCentral()实在是慢,可以作为mavenLocal()的有效补充
大漠小北
大漠小北 博主

引用来自“soberh”的评论

用 > gradle dependencies 就可以看到依赖树了
嗯嗯,后来看gradle的命令行是找到了,gradle是很好很强大的。但是在eclipse用习惯了,再开个cmd窗口执行命令就有点不爽了。maven的插件可以展示树形结构,还可以直接屏蔽某个树上的依赖jar,很是方便,而gradle的插件还有待发展。这不是gradle的错,是辅助工具不完善的问题。
语音识别CMUSphinx(2)AndroidDemo实测

安装 安装过程参考 https://cmusphinx.github.io/wiki/tutorialandroid/ build过程过慢可以修改总如下 不过我是第一次使用Android Studio,还有如下疑惑 buildscript中的repositories和allpr...

Seeker_zz
2018/08/30
0
0
个推用户画像产品(个像)Android集成实践

我们团队之前一直是个推推送的忠实用户,近期个推新推出了产品“个像·用户画像”,刚好非常契合我们的业务需求,于是我们也试用了一下。总的来说效果还不错,这篇文章就为大家介绍一下如何从...

个推
2018/08/07
0
0
个推用户画像产品(个像)Android集成实践

我们团队之前一直是个推推送的忠实用户,近期个推新推出了产品“个像·用户画像”,刚好非常契合我们的业务需求,于是我们也试用了一下。总的来说效果还不错,这篇文章就为大家介绍一下如何从...

个推
2018/08/07
37
0
SpringBoot025 gradle安装、利用gradle创建SrpingBoot项目

1 gradle安装   技巧01:gradle依赖JDK或者JRE,而且版本至少时1.7   1.1 下载安装包     到gradle官网下载安装包【PS: 也可以利用命令的方式安装,本案例是利用安装包的方式】   ...

CRUD_Architect
2018/08/19
0
0
个推用户画像产品 (个像) Android 集成实践

我们团队之前一直是个推推送的忠实用户,近期个推新推出了产品“个像·用户画像”,刚好非常契合我们的业务需求,于是我们也试用了一下。总的来说效果还不错,这篇文章就为大家介绍一下如何从...

个推
2018/08/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

64.监控平台介绍 安装zabbix 忘记admin密码

19.1 Linux监控平台介绍 19.2 zabbix监控介绍 19.3/19.4/19.6 安装zabbix 19.5 忘记Admin密码如何做 19.1 Linux监控平台介绍: 常见开源监控软件 ~1.cacti、nagios、zabbix、smokeping、ope...

oschina130111
今天
13
0
当餐饮遇上大数据,嗯真香!

之前去开了一场会,主题是「餐饮领袖新零售峰会」。认真听完了餐饮前辈和新秀们的分享,觉得获益匪浅,把脑子里的核心纪要整理了一下,今天和大家做一个简单的分享,欢迎感兴趣的小伙伴一起交...

数澜科技
今天
7
0
DNS-over-HTTPS 的下一代是 DNS ON BLOCKCHAIN

本文作者:PETER LAI ,是 Diode 的区块链工程师。在进入软件开发领域之前,他主要是在做工商管理相关工作。Peter Lai 也是一位活跃的开源贡献者。目前,他正在与 Diode 团队一起开发基于区块...

红薯
今天
13
0
CC攻击带来的危害我们该如何防御?

随着网络的发展带给我们很多的便利,但是同时也带给我们一些网站安全问题,网络攻击就是常见的网站安全问题。其中作为站长最常见的就是CC攻击,CC攻击是网络攻击方式的一种,是一种比较常见的...

云漫网络Ruan
今天
12
0
实验分析性专业硕士提纲撰写要点

为什么您需要研究论文的提纲? 首先当您进行研究时,您需要聚集许多信息和想法,研究论文提纲可以较好地组织你的想法, 了解您研究资料的流畅度和程度。确保你写作时不会错过任何重要资料以此...

论文辅导员
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部