maven項(xiàng)目依賴另一個(gè)項(xiàng)目 gradle比maven好為什么用的人少?
gradle比maven好為什么用的人少?我們公司已經(jīng)在多個(gè)項(xiàng)目中使用了gradle,但是大多數(shù)項(xiàng)目仍然使用maven,估計(jì)將來會(huì)使用maven。為什么?這是因?yàn)楦窭聽柕臍⑹郑簞”臼侨绱藦?qiáng)大。早期的
gradle比maven好為什么用的人少?
我們公司已經(jīng)在多個(gè)項(xiàng)目中使用了gradle,但是大多數(shù)項(xiàng)目仍然使用maven,估計(jì)將來會(huì)使用maven。為什么?這是因?yàn)楦窭聽柕臍⑹郑簞”臼侨绱藦?qiáng)大。
早期的構(gòu)建是腳本化的,使用SH或bat將編譯、打包、部署和其他過程結(jié)合起來。后來,它演變成了用XML描述的ant工具,但它仍然可以編寫許多自定義任務(wù),調(diào)用本地命令進(jìn)行打包,并可以組合各種任務(wù),類似于bat。他們的共同特點(diǎn)是:靈活!您可以指定自己的依賴路徑來個(gè)性化打包過程。直到后來,Maven出現(xiàn)了,不同的項(xiàng)目只能通過不同的ArchType來構(gòu)建。每個(gè)項(xiàng)目類型的項(xiàng)目目錄都是固定的。如果沒有問題,一個(gè)package命令就可以了。沒有個(gè)性化的配置(除了mojo),約定勝于配置是它的理念!你只要明白pom.xml文件基本配置就足夠了。
Gradle結(jié)合了maven的優(yōu)點(diǎn),同時(shí)保留了腳本調(diào)用的特性。它往往給人們太多的選擇和機(jī)會(huì),但它會(huì)使項(xiàng)目(尤其是大型項(xiàng)目)的建設(shè)和配置復(fù)雜化。因此,新手很難掌握它的DSL語法,這是一個(gè)簡化的groovy調(diào)用。有時(shí)他們不了解groovy語言及其語法,因此很難理解和編寫好的構(gòu)造腳本,而且學(xué)習(xí)成本很高。