如何通俗地理解 Gradle?

李博Garvin發表於2017-09-11
作者:nonesuccess
連結:https://www.zhihu.com/question/30432152/answer/79547641
來源:知乎
著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。

你都說了要通俗的理解,那就用不著學習什麼理論了,通俗著來就是了。

通俗的說:gradle是打包用的。

你覺得解決你的問題了嗎?如果沒解決,那是你的問題提得不夠好。比如我猜你應該提:為什麼要打包釋出,打包釋出有幾種常見方法,為什麼這些常見方法中要選gradle,等等。

針對我猜的這些內容,通俗的講是這樣的:

以在eclipse裡面寫java程式為例

為什麼需要打包:
最初寫完了,直接右鍵run就可以了。但是程式寫完了畢竟是要釋出到伺服器上或者給別人用的,你第一不可能讓所有要執行的人都裝個eclipse,第二不可能把原始碼公佈給所有人。所以你需要把你的程式碼釋出成二進位制形式,讓其它環境方便執行,這就是打包。

為什麼用ant
打包的時候要做很多事,比如說配置檔案中的使用者名稱和密碼,你本地開發和程式實際執行時的內容肯定不一致,所以需要有兩個檔案,開發的時候用一個,實際執行的時候用一個。這樣每次打包的時候都要重複的做這些事,ant可以讓你用xml的形式把這些事情寫成指令碼,然後自動執行。

為什麼用maven
你的專案要用很多jar包,比如你寫日誌要用個log4j吧,連資料庫要用個connector吧。這年頭寫程式不用個spring都不好意思出門,下載下來的spring包開啟一看,密密麻麻的好幾十個jar,不知道用哪個不用哪個。而且,即便是你一狠心把這些jar包都放進來,很大可能性還是不能執行,因為還要依賴其它的jar包。哪天想升級個spring小版本,所有jar包都要重來一遍,你也不記得哪些是由於spring引進來的jar包了。
所以有了maven,你只要配置一下說我要用spring 3,所有jar包都給你下載好了,你直接執行就行了。趕明兒想升級版本,直接把3改成4,新的jar包也給你下載好了。

然後?
用了maven,jar包是方便了,但我打包的時候還是有好多事要做啊,然後你會發現maven實在是不知道怎麼做這些事,於是開始懷念ant。
gradle就是又能幹maven的活,又能幹ant的活,用groove語言寫指令碼,表達能力還更強。

就這意思。

相關文章