老話,適合的纔是最好的。
此處不作gradle和maven的比較。只說下我,一個偏執的maven用戶如未嘗試使用gradle的經驗。java
我用maven好些年了,本身機器上還搭了個nexus。
最近看到有個demo須要gradle才能跑起來,因而打算嘗試下。spring
首先gradle的下載、配置,對一個程序猿來講,這都不是事,若是這都搞不定,可能你有點點不太適合作這一行。
Win7下,直接用setx設置環境變量。
先設置gradle的安裝目錄或者說是解壓縮出來的目錄,這個目錄下至少應該保留有bin、lib,其餘文件或者目錄偏執狂能夠盡情刪掉。緩存
setx GRADLE_HOME "E:\gradle"
再把gradle的可執行文件路徑加入到Path變量裏。爲何要加?由於想不帶路徑的執行一個命令(exe、bat、cmd之類),就須要在命令搜索路徑列表中把這個命令所在的路徑加進去。eclipse
setx Path ".;%%GRADLE_HOME%%\bin;"
gradle和maven同樣,都是要把jar包下到本地緩存起來的。
gradle能夠複用maven的私有倉庫和中央倉庫。中央倉庫什麼的先無論,偏執狂大多關心的是gradle如何先複用maven已經下好的jar包,那些沒有的jar包再下到gradle的緩存目錄。jvm
gradle官網和度娘給出的一些教程上,都說maven
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。gradle
度娘問了半天是沒結果的,從谷哥給的建議找到官網,上面介紹了複用maven本地倉庫的搜索路徑,主要是經過maven的settings.xml。
maven配置用的默認的那些朋友,天然不會碰到我這樣的問題。由於能夠直接在C盤用戶目錄找到這個settings.xml。
若是設置了M2_HOME的那些朋友,天然也不會碰到我這樣的問題。由於能夠直接在M2_HOME下的conf目錄找到這個settings.xml。ui
像我這樣只配了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這個工具也算是最好的了。