<div id="cnblogs_post_body" class="blogpost-body "> <h2 id="在idea里gradle配置和使用">在IDEA里gradle配置和使用</h2> <p> </p> <div class="toc"> <ul> <li> <ul> <li><a href="https://blog.csdn.net/achenyuan/article/details/80682288#%E5%9C%A8idea%E9%87%8Cgradle%E9%85%8D%E7%BD%AE%E5%92%8C%E4%BD%BF%E7%94%A8" rel="nofollow" target="">在IDEA里gradle配置和使用</a></li> </ul> </li> <li><a href="https://blog.csdn.net/achenyuan/article/details/80682288#%E5%89%8D%E8%A8%80" rel="nofollow" target="">前言</a></li> <li><a href="https://blog.csdn.net/achenyuan/article/details/80682288#windows%E7%8E%AF%E5%A2%83idea%E9%85%8D%E7%BD%AEgradle" rel="nofollow" target="">Windows环境IDEA配置gradle</a> <ul> <li><a href="https://blog.csdn.net/achenyuan/article/details/80682288#%E9%85%8D%E7%BD%AE%E7%B3%BB%E7%BB%9F%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F" rel="nofollow" target="">配置系统环境变量</a></li> <li><a href="https://blog.csdn.net/achenyuan/article/details/80682288#%E4%B8%8B%E8%BD%BD" rel="nofollow" target="">下载</a></li> <li><a href="https://blog.csdn.net/achenyuan/article/details/80682288#%E9%85%8D%E7%BD%AE%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F" rel="nofollow" target="">配置环境变量</a></li> <li><a href="https://blog.csdn.net/achenyuan/article/details/80682288#%E6%B5%8B%E8%AF%95" rel="nofollow" target="">测试</a></li> <li><a href="https://blog.csdn.net/achenyuan/article/details/80682288#idea%E9%85%8D%E7%BD%AE" rel="nofollow" target="">idea配置</a></li> </ul> </li> <li><a href="https://blog.csdn.net/achenyuan/article/details/80682288#gradle%E4%BB%93%E5%BA%93%E8%AE%BE%E7%BD%AE" rel="nofollow" target="">gradle仓库设置</a></li> <li><a href="https://blog.csdn.net/achenyuan/article/details/80682288#%E6%9E%84%E5%BB%BA%E5%91%BD%E4%BB%A4" rel="nofollow" target="">构建命令</a></li> <li><a href="https://blog.csdn.net/achenyuan/article/details/80682288#%E5%88%9B%E5%BB%BA%E7%BC%93%E5%AD%98%E4%BE%9D%E8%B5%96" rel="nofollow" target="">建立缓存依赖</a></li> <li><a href="https://blog.csdn.net/achenyuan/article/details/80682288#gradlebuild%E6%9E%84%E5%BB%BA%E8%84%9A%E6%9C%AC" rel="nofollow" target="">gradle.build构建脚本</a></li> <li><a href="https://blog.csdn.net/achenyuan/article/details/80682288#settingsgradle%E9%85%8D%E7%BD%AE" rel="nofollow" target="">settings.gradle配置</a></li> </ul> </div> <p> </p> <h1 id="前言"><a name="t1"></a>前言</h1> <p>有人说Gradle使用groovy语言编写,简单,明了没像maven使用xml臃肿,其实我倒不以为,我以为maven挺好的,管理jar依赖和项目生命周期挺方便的,我使用gradle只是由于公司用,否则我估计不会学习gradle。下面是gradle的优势,本身斟酌吧。 <br>1. 按约定声明构建和建设; <br>2. 强大的支持多工程的构建; <br>3. 强大的依赖管理(基于Apache Ivy),提供最大的便利去构建工程; <br>4. 全力支持已有的 Maven 或者Ivy仓库基础建设; <br>5. 支持传递性依赖管理,在不须要远程仓库和pom.xml和ivy配置文件的前提下; <br>6. 基于groovy脚本构建,其build脚本使用groovy语言编写; <br>7. 具备普遍的领域模型支持构建; <br>8. 深度 API; <br>9. 易迁移; <br>10. 自由和开放源码,Gradle是一个开源项目,基于 ASL 许可。</p> <hr> <h1 id="windows环境idea配置gradle"><a name="t2"></a>Windows环境IDEA配置gradle</h1> <h2 id="配置系统环境变量"><a name="t3"></a>配置系统环境变量</h2> <p>为了使用gradle命令,idea里使用不了命令。好比编译命令<code>gradle build</code></p> <h2 id="下载"><a name="t4"></a>下载</h2> <p><a href="https://gradle.org/releases/" rel="nofollow" target="_blank">gradle安装包下载地址</a>,解压到“<code>D:\soft\gradle\gradle-4.8</code>”</p> <h2 id="配置环境变量"><a name="t5"></a>配置环境变量</h2> <p>打开环境配置,新建系统环境“GRADLE_HOME”,值为<code>D:\soft\gradle\gradle-4.8</code>,找到path变量,后面添加<code>%GRADLE_HOME%\bin;</code>。</p> <h2 id="测试"><a name="t6"></a>测试</h2> <p>在cmd命令里输入<code>gradle -v</code>若是能打出版本号,说明环境配置完毕。</p> <h2 id="idea配置"><a name="t7"></a>idea配置</h2> <p>在D盘新建文件<code>.gradle</code>(使用dos命令<code>mkdir .gradle</code> ),作为gradle下载的jar包仓库主目录,默认在<code>C:\Users\Administrator\.gradle</code>. <br>打开file->setting->Build,Execution,Deployment->Gradle,修改以下: <br><img title="" src="https://img-blog.csdn.net/20180613171805848?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FjaGVueXVhbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70" alt="这里写图片描述"><br><code>Gradle home</code>指定了gradle文件目录 <br><code>Service directory path</code>指定了gradle工做主目录</p> <hr> <h1 id="gradle仓库设置"><a name="t8"></a>gradle仓库设置</h1> <p>建议以下设置</p> <pre name="code" class="prettyprint"><code class="hljs cs has-numbering">repositories { mavenLocal() maven { url <span class="hljs-string"><span class="hljs-string"><span class="hljs-string">"http://maven.aliyun.com/nexus/content/groups/public/"</span></span>} mavenCentral() jcenter() maven { url <span class="hljs-string"><span class="hljs-string"><span class="hljs-string">"https://repo.spring.io/snapshot"</span></span> } maven { url <span class="hljs-string"><span class="hljs-string"><span class="hljs-string">"https://repo.spring.io/milestone"</span></span> } maven { url <span class="hljs-string"><span class="hljs-string"><span class="hljs-string">'http://oss.jfrog.org/artifactory/oss-snapshot-local/'</span></span> } <span class="hljs-comment"><span class="hljs-comment"><span class="hljs-comment">//转换pdf使用</span></span> }</span></span></span></span></span></code></pre>html
<p>存储库只是文件的集合,按分组,名称和版原本组织构造。 默认状况下,Gradle不定义任何存储库。 这里使用repositories 指定存储库。 <br>mavenLocal():指定使用maven本地仓库,而本地仓库在配置maven时setting文件指定的仓库位置。如<code><localRepository>D:/repository</localRepository></code>,同时将<code>setting</code>文件拷贝到<code>C:\Users\Administrator\.m2</code>目录下,通常该目录下是没有<code>setting</code>文件的,gradle查找jar包顺序以下:<code>gradle默认会按如下顺序去查找本地的仓库:USER_HOME/.m2/settings.xml >> M2_HOME/conf/settings.xml >> USER_HOME/.m2/repository。</code> <br><code>maven { url "http://maven.aliyun.com/nexus/content/groups/public/"}</code>:指定阿里云镜像加速地址 <br>mavenCentral():这是Maven的中央仓库,无需配置,直接声明就可使用 <br>jcenter():JCenter中央仓库,实际也是是用的maven搭建的,但相比Maven仓库更友好,经过CDN分发,而且支持https访问。 <br>后面的<code>maven { url 地址}</code>,指定maven仓库,通常用私有仓库地址或其它的第三方库 <br>gradle按配置顺序寻找jar文件。若是本地存在就不会再去下载。不存在的再去maven仓库下载,这里注意下载下来的jar文件不在maven仓库里,而是在gradle的主工做目录下,如上面的<code>D:\.gradle</code>目录 <br>参考<a href="http://www.souvc.com/?p=2573" rel="nofollow" target="_blank">《Gradle实战》如何配置利用Maven本地仓库</a></p> <hr> <h1 id="构建命令"><a name="t9"></a>构建命令</h1> <p>清理命令</p> <pre name="code" class="prettyprint"><code class="hljs has-numbering nginx"><span class="hljs-attribute"><span class="hljs-attribute">gradle</span></span> clean</code></pre>nginx
<p>构建打包命令</p> <pre name="code" class="prettyprint"><code class="hljs has-numbering nginx"><span class="hljs-attribute"><span class="hljs-attribute">gradle</span></span> clean build</code></pre>spring
<hr> <h1 id="建立缓存依赖"><a name="t10"></a>建立缓存依赖</h1> <p>执行命令<code>gradle clean build --refresh-dependencies</code>或删除.gradle/caches目录,构建的时候它会下载全部依赖并加入到缓存中。</p> <hr> <h1 id="gradlebuild构建脚本"><a name="t11"></a>gradle.build构建脚本</h1> <p>build.gradle是Gradle默认的构建脚本文件,执行Gradle命令的时候,会默认加载当前目录下的build.gradle脚本文件。 <br>gradle.build脚本以下:</p> <pre name="code" class="prettyprint"><code class="hljs mathematica has-numbering less"><span class="hljs-selector-tag"><span class="hljs-selector-tag">buildScript</span></span> <span class="hljs-list">{ <span class="hljs-selector-tag"><span class="hljs-selector-tag">repositories</span></span> { <span class="hljs-selector-tag"><span class="hljs-selector-tag">mavenCentral</span></span>() } }windows
<span class="hljs-selector-tag"><span class="hljs-selector-tag">repositories</span></span> <span class="hljs-list">{ <span class="hljs-selector-tag"><span class="hljs-selector-tag">mavenCentral</span></span>() }</span></span></code></pre>缓存
<p>buildScript里的repositories是这个脚本须要的依赖库,与项目无关,在执行脚本时,会从这个库里download对应的jar和插件。第二个repositories是项目里须要依赖的jar的库。</p> <hr> <h1 id="settingsgradle配置"><a name="t12"></a>settings.gradle配置</h1> <p>是模块Module配置文件,大多数setting.gradle的做用是为了配置子工程,根目录下的settings.gradle脚本文件是针对module的全局配置,它的做用域所包含的全部module是经过settings.gradle来配置。 <br>settings.gradle用于建立多Project的Gradle项目。Project在IDEA里对应Module模块。 <br>例如配置module名<code>rootProject.name = 'DyoonPLM'</code></p> <p>参考<a href="https://www.jianshu.com/p/001abe1d8e95" rel="nofollow" target="_blank">Gradle 入门–只此一篇</a></p> 原文地址:https://www.cnblogs.com/wangsongbai/p/9206940.html </div>less