<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