`

Gradle 修改本地仓库的位置

 
阅读更多

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

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

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

[html] view plain copy
 
  1. setx GRADLE_HOME "E:\gradle"  

 

 

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

[html] view plain copy
 
  1. setx Path ".;%%GRADLE_HOME%%\bin;"  

 

 

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

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

[html] view plain copy
 
  1. repositories {  
  2.    mavenLocal()  
  3. }  

 

 

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

[html] view plain copy
 
  1. 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的安装目录。

[html] view plain copy
 
  1. 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这个工具也算是最好的了。

 

http://blog.csdn.net/kl28978113/article/details/53018225

分享到:
评论

相关推荐

    Gradle修改本地仓库的位置方法实现

    主要介绍了Gradle修改本地仓库的位置方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    安卓studio mave仓库全局替换脚本

    通过修改安卓初始化工程的脚本,达到将第三方库全局替换为阿里云的镜像从而提高同步到第三方库的速度。需要替换的文件路径比如笔者的使用的gradle版本为4.1。路径为: C:\Users\gemvary\.gradle\wrapper\dists\...

    NexusDemo:gradle + Nexus 搭建项目依赖

    Maven 仓库管理软件来搭建私服 Nexus 专业版是需要付费的,可以下载开源版 Nexus OSS nexus3 配置 jdk 1.8+ 端口修改 nexus-3.13.0-01\etc\nexus-default.properties 启动 cmd nexus-3.13.0-01\bin nexus.exe /start...

    Java版水果管理系统源码-GradleSide:Gradle示例大全

    关于仓库的使用,多个仓库,自定义仓库,本地仓库... 05.dependencies 依赖管理相关示例 01 depbase 最简单的依赖管理示例 02 local-dependency 使用本地文件系统依赖 03 ptj 如何使用Gradle发布自己的项目到Jcenter...

    超简单spring5源码编译(IDEA)

    本地安装Gradle,这个网上有教程很简单 Gradle下载链接 我下载的是4.10.3版本 开始编译 1、解压spring5.x源码, 编译之前如下配置依赖下载地址 用记事本打开build.gradle 修改repository,注意里面有两个...

    SamplePlugin:http的示例项目

    这个项目的结构是围绕将插件部署到Maven仓库(这将使最终发布变得容易),因此,在sample_app模块可以使用插件之前,您需要执行命令才能部署到本地Maven sample_app 。 用法 每次更改插件实现并希望在示例应用程序...

    SampleByteCodeProcessor

    这个项目的结构是围绕将插件部署到Maven仓库(这将使最终发布变得容易),因此,在sample_app模块可以使用插件之前,您需要执行命令才能部署到本地Maven sample_app 。 用法 每次更改插件实现并希望在示例应用程序...

    Kotlin:Kotlin中实现的所有算法

    Kotlin贡献准则如果添加算法,则必须同时添加一个测试(JUnit)。...提高公关的步骤分叉通过将项目导入为Gradle项目,通过IntelliJ在本地计算机上打开分支的仓库。 在本地计算机上进行更改将更改推送

    AndroCI::high_voltage:一个美丽的Travis CI客户。 这是:fire:!

    用法建立先决条件要在您的本地环境上处理此仓库,您需要在GitHub上生成此应用程序的注册版本,以便访问GitHub OAuth API。 请按照的步骤操作,以设置您使用此应用程序的凭据。在Android Studio中设置项目完成此操作...

    像素

    实现仓库组件和本地代码依赖的无缝切换,方便组件间协调开发 组件无需修改任何配置,通过插件直接快速运行。既是模块也是app类型 一键快速发布组件到指定仓库,其他协作者无感知即可快速集成最新组件 支持所有组件...

    SpringBootIntegration:SpringBoot集成学习项目

    先将lazyer那个项目克隆下来,再在lazyer项目下执行mvn clean install -Dmaven.test.skip=true将lazyer组件安装到本地maven仓库,再启动此项目即可(需要修改数据库账号密码) git添加多远程仓库 git remote set-...

    测验:使用Open Trivia Api的Android应用程序

    使用Java编写代码的本地Android应用程序。 正在安装 分叉存储库。 使用terminal命令克隆仓库。 确保将username替换为GitHub用户名。 git clone https://github.com/username/Quiz.git 初次贡献者可以阅读文件,以...

    spring security 参考手册中文版

    Maven仓库 21 Spring框架 22 2.4.2 Gradle 23 Gradle存储库 23 使用Spring 4.0.x和Gradle 24 2.4.3项目模块 25 核心 - spring-security-core.jar 25 远程处理 - spring-security-remoting.jar 25 Web - spring-...

Global site tag (gtag.js) - Google Analytics