項(xiàng)目管理及構(gòu)建——快速搭建Gradle開(kāi)發(fā)環(huán)境

前言

有人說(shuō)Gradle使用groovy語(yǔ)言編寫(xiě)磨总,簡(jiǎn)單,明了沒(méi)像maven使用xml臃腫朋贬,其實(shí)我倒不覺(jué)得凯楔,我覺(jué)得maven挺好的,管理jar依賴和項(xiàng)目生命周期挺方便的锦募,我使用gradle只是因?yàn)楣居冒谕停蝗晃夜烙?jì)不會(huì)學(xué)習(xí)gradle。下面是gradle的優(yōu)點(diǎn)糠亩,自己斟酌吧虐骑。?

按約定聲明構(gòu)建和建設(shè);?

強(qiáng)大的支持多工程的構(gòu)建赎线;?

強(qiáng)大的依賴管理(基于Apache Ivy)廷没,提供最大的便利去構(gòu)建工程;?

全力支持已有的 Maven 或者Ivy倉(cāng)庫(kù)基礎(chǔ)建設(shè)氛驮;?

支持傳遞性依賴管理腕柜,在不需要遠(yuǎn)程倉(cāng)庫(kù)和pom.xml和ivy配置文件的前提下;?

基于groovy腳本構(gòu)建矫废,其build腳本使用groovy語(yǔ)言編寫(xiě)盏缤;?

具有廣泛的領(lǐng)域模型支持構(gòu)建;?

深度 API蓖扑;?

易遷移唉铜;?

自由和開(kāi)放源碼,Gradle是一個(gè)開(kāi)源項(xiàng)目律杠,基于 ASL 許可潭流。

Windows環(huán)境IDEA配置gradle

配置系統(tǒng)環(huán)境變量

為了使用gradle命令,idea里使用不了命令柜去。比如編譯命令gradle build

下載

gradle安裝包下載地址,解壓到“D:\soft\gradle\gradle-4.8”

配置環(huán)境變量

打開(kāi)環(huán)境配置灰嫉,新建系統(tǒng)環(huán)境“GRADLE_HOME”,值為D:\soft\gradle\gradle-4.8,找到path變量,后面添加%GRADLE_HOME%\bin;嗓奢。

測(cè)試

在cmd命令里輸入gradle -v如果能打出版本號(hào)讼撒,說(shuō)明環(huán)境配置完畢。

idea配置

在D盤(pán)新建文件.gradle(使用dos命令mkdir .gradle ),做為gradle下載的jar包倉(cāng)庫(kù)主目錄,默認(rèn)在C:\Users\Administrator\.gradle.

打開(kāi)file->setting->Build,Execution,Deployment->Gradle根盒,修改如下:?

Gradle home指定了gradle文件目錄?

Service directory path指定了gradle工作主目錄

gradle倉(cāng)庫(kù)設(shè)置

建議如下設(shè)置

repositories {

??mavenLocal()

??maven { url "http://maven.aliyun.com/nexus/content/groups/public/"}

??mavenCentral()

??jcenter()

??maven { url "https://repo.spring.io/snapshot" }

??maven { url "https://repo.spring.io/milestone" }

??maven { url 'http://oss.jfrog.org/artifactory/oss-snapshot-local/' }?//轉(zhuǎn)換pdf使用

}

存儲(chǔ)庫(kù)只是文件的集合钳幅,按分組,名稱和版本來(lái)組織構(gòu)造炎滞。 默認(rèn)情況下敢艰,Gradle不定義任何存儲(chǔ)庫(kù)。 這里使用repositories 指定存儲(chǔ)庫(kù)册赛。?

mavenLocal():指定使用maven本地倉(cāng)庫(kù)钠导,而本地倉(cāng)庫(kù)在配置maven時(shí)setting文件指定的倉(cāng)庫(kù)位置。

如<localRepository>D:/repository</localRepository>森瘪,同時(shí)將setting文件拷貝到C:\Users\Administrator\.m2目錄下辈双,一般該目錄下是沒(méi)有setting文件的,gradle查找jar包順序如下:gradle默認(rèn)會(huì)按以下順序去查找本地的倉(cāng)庫(kù):USER_HOME/.m2/settings.xml >> M2_HOME/conf/settings.xml >> USER_HOME/.m2/repository柜砾。?

maven { url "http://maven.aliyun.com/nexus/content/groups/public/"}:

指定阿里云鏡像加速地址?

mavenCentral():

這是Maven的中央倉(cāng)庫(kù),無(wú)需配置换衬,直接聲明就可以使用?

jcenter():

JCenter中央倉(cāng)庫(kù)痰驱,實(shí)際也是是用的maven搭建的,但相比Maven倉(cāng)庫(kù)更友好瞳浦,通過(guò)CDN分發(fā)担映,并且支持https訪問(wèn)。?

后面的maven { url 地址}叫潦,指定maven倉(cāng)庫(kù)蝇完,一般用私有倉(cāng)庫(kù)地址或其它的第三方庫(kù)?

gradle按配置順序?qū)ふ襧ar文件。如果本地存在就不會(huì)再去下載矗蕊。不存在的再去maven倉(cāng)庫(kù)下載短蜕,這里注意下載下來(lái)的jar文件不在maven倉(cāng)庫(kù)里,而是在gradle的主工作目錄下傻咖,如上面的D:\.gradle目錄?

參考《Gradle實(shí)戰(zhàn)》如何配置利用Maven本地倉(cāng)庫(kù)

構(gòu)建命令

清理命令

gradle clean

構(gòu)建打包命令

gradle clean build

編譯時(shí)跳過(guò)測(cè)試朋魔,使用-x,-x參數(shù)用來(lái)排除不需要執(zhí)行的任務(wù)

gradle clean build -x test

創(chuàng)建緩存依賴

執(zhí)行命令gradle clean build --refresh-dependencies或刪除.gradle/caches目錄,構(gòu)建的時(shí)候它會(huì)下載所有依賴并加入到緩存中卿操。

阿里云鏡像

buildscript {

??repositories {

????maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }

????maven{ url 'http://maven.aliyun.com/nexus/content/repositories/jcenter'}

??}

參考gradle配置國(guó)內(nèi)鏡像

gradle.build構(gòu)建腳本

build.gradle是Gradle默認(rèn)的構(gòu)建腳本文件警检,執(zhí)行Gradle命令的時(shí)候,會(huì)默認(rèn)加載當(dāng)前目錄下的build.gradle腳本文件害淤。?

gradle.build腳本如下:

buildScript {

??repositories {

?????mavenCentral()

??}

}

repositories {

???mavenCentral()

}

buildScript里的repositories是這個(gè)腳本需要的依賴庫(kù)扇雕,與項(xiàng)目無(wú)關(guān),在執(zhí)行腳本時(shí)窥摄,會(huì)從這個(gè)庫(kù)里download對(duì)應(yīng)的jar和插件镶奉。第二個(gè)repositories是項(xiàng)目里需要依賴的jar的庫(kù)。

查看項(xiàng)目已定義的所有task以及含義

命令

gradle tasks

比如結(jié)果如下

assemble: 編譯

build:編譯并執(zhí)行測(cè)試

clean:刪除build目錄

jar: 生成jar包

test:執(zhí)行單元測(cè)試

maven項(xiàng)目轉(zhuǎn)換為gradle項(xiàng)目

根目錄執(zhí)行

gradle init --type pom

上面的命令會(huì)根據(jù)pom文件自動(dòng)生成gradle項(xiàng)目所需的文件和配置,然后以gradle項(xiàng)目重新導(dǎo)入即可腮鞍。

settings.gradle配置

是模塊Module配置文件值骇,大多數(shù)setting.gradle的作用是為了配置子工程,根目錄下的settings.gradle腳本文件是針對(duì)module的全局配置移国,它的作用域所包含的所有module是通過(guò)settings.gradle來(lái)配置吱瘩。?

settings.gradle用于創(chuàng)建多Project的Gradle項(xiàng)目。

Project在IDEA里對(duì)應(yīng)Module模塊迹缀。?

例如配置module名rootProject.name = 'DyoonPLM'

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末使碾,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子祝懂,更是在濱河造成了極大的恐慌票摇,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,252評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件砚蓬,死亡現(xiàn)場(chǎng)離奇詭異矢门,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)灰蛙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)祟剔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人摩梧,你說(shuō)我怎么就攤上這事物延。” “怎么了仅父?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,814評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵叛薯,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我笙纤,道長(zhǎng)耗溜,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,869評(píng)論 1 299
  • 正文 為了忘掉前任省容,我火速辦了婚禮强霎,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蓉冈。我一直安慰自己城舞,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,888評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布寞酿。 她就那樣靜靜地躺著家夺,像睡著了一般。 火紅的嫁衣襯著肌膚如雪伐弹。 梳的紋絲不亂的頭發(fā)上拉馋,一...
    開(kāi)封第一講書(shū)人閱讀 52,475評(píng)論 1 312
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼煌茴。 笑死随闺,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的蔓腐。 我是一名探鬼主播矩乐,決...
    沈念sama閱讀 41,010評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼回论!你這毒婦竟也來(lái)了散罕?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,924評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤傀蓉,失蹤者是張志新(化名)和其女友劉穎欧漱,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體葬燎,經(jīng)...
    沈念sama閱讀 46,469評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡误甚,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,552評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了谱净。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片靶草。...
    茶點(diǎn)故事閱讀 40,680評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖岳遥,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情裕寨,我是刑警寧澤浩蓉,帶...
    沈念sama閱讀 36,362評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站宾袜,受9級(jí)特大地震影響捻艳,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜庆猫,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,037評(píng)論 3 335
  • 文/蒙蒙 一认轨、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧月培,春花似錦嘁字、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,519評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至此叠,卻和暖如春纯续,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,621評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工猬错, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留窗看,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,099評(píng)論 3 378
  • 正文 我出身青樓倦炒,卻偏偏與公主長(zhǎng)得像显沈,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子析校,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,691評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容