在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ 物聯(lián)網(wǎng)/ Gradle強(qiáng)大的特性
依賴管理實(shí)戰(zhàn)
配置遠(yuǎn)程倉庫
安裝Gradle
簡介
項(xiàng)目自動(dòng)化簡介
配置子項(xiàng)目
Gradle強(qiáng)大的特性
自動(dòng)化測試
簡介
掌握構(gòu)建生命周期
使用命令行操作
構(gòu)建Java項(xiàng)目
管理任務(wù)
構(gòu)建工具
連續(xù)傳遞的特性
用Gradle開發(fā)Web項(xiàng)目
聲明依賴
構(gòu)建塊
簡介
測試Java應(yīng)用
java構(gòu)建工具
為什么選擇Gradle
拆分項(xiàng)目文件
單元測試
多項(xiàng)目打包
Gradle 起步
介紹這個(gè)Gradle項(xiàng)目
簡介
自定義腳本
Gradle包裝器
簡要概述依賴管理
項(xiàng)目模塊化

Gradle強(qiáng)大的特性

Gradle提供了一些默認(rèn)的Tasks給Java項(xiàng)目,比如,編譯源代碼、運(yùn)行測試、打包JAR.每一個(gè)Java項(xiàng)目都有一個(gè)標(biāo)準(zhǔn)的路徑布局,這個(gè)布局定義了去哪里找項(xiàng)目的源代碼、資源文件和測試代碼,你也可以在配置中修改這些默認(rèn)位置。

Gradle的約定類似于Maven的約定優(yōu)于配置的實(shí)現(xiàn),Maven的約定就是一個(gè)項(xiàng)目只包含一個(gè)Java源代碼路徑,只產(chǎn)生一個(gè)JAR文件,對于企業(yè)級開發(fā)來講這樣是顯然不夠的,Gradle允許你打破傳統(tǒng)的觀念,Gradle的構(gòu)建生命周期如下圖:

http://wiki.jikexueyuan.com/project/gradleIn-action/images/dag6.png" alt="" /> http://wiki.jikexueyuan.com/project/gradleIn-action/images/dag5.png" alt="" />

和其他構(gòu)建工具集成

Gradle完全兼容Ant、Maven,你可以很容易的從Ant或Maven遷移到Gradle,Gradle并不強(qiáng)迫你完全把你的Build邏輯遷移過來,它允許你復(fù)用已有的Ant構(gòu)建邏輯。Gradle完全兼容Maven和Ivy倉庫,你可以從中檢索依賴也可以發(fā)布你的文件到倉庫中,Gradle提供轉(zhuǎn)換器能把Maven的構(gòu)建邏輯轉(zhuǎn)換成Gradle的構(gòu)建腳本。

從Ant,Maven遷移到Gradle

現(xiàn)有的Ant腳本可以無縫的導(dǎo)入到Gradle項(xiàng)目中,Ant的Target在運(yùn)行時(shí)直接映射成Gradle的任務(wù),Gradle有一個(gè)AntBuilder可以把你的Ant腳本混成Gradle的DSL(領(lǐng)域特定語言),這些腳本看起來像是Ant的XML,但是去掉了尖括號,對于Ant用戶來說非常方便,不需要擔(dān)心過渡到Gradle的學(xué)習(xí)周期。

Gradle能夠解析現(xiàn)有的Maven POM,從而得到傳遞性依賴的信息,并且引入到當(dāng)前項(xiàng)目中,在此基礎(chǔ)上,它也支持排除傳遞性依賴或者干脆關(guān)閉傳遞性依賴,這一點(diǎn)是Maven所不具備的特性。 Gradle項(xiàng)目使用Maven項(xiàng)目生成的資源已經(jīng)不是個(gè)問題了,接著需要反過來考慮,Maven用戶是否能夠使用 Gradle生成的資源呢?或者更簡單點(diǎn)問,Gradle項(xiàng)目生成的構(gòu)件是否可以發(fā)布到Maven倉庫中供人使用呢?這一點(diǎn)非常重要,因?yàn)槿绻霾坏竭@一點(diǎn),你可能就會丟失大量的用戶。幸運(yùn)的是Gradle再次給出了令人滿意的答案。使用Gradle的Maven Plugin,用戶就可以輕松地將項(xiàng)目構(gòu)件上傳到Maven倉庫中:

    apply plugin: 'maven'
    ...
    uploadArchives {
        repositories.mavenDeployer {
        repository(url: "http://localhost:8088/nexus/content/repositories/snapshots/") {
            authentication(userName: "admin", password: "admin123")
            pom.groupId = "com.juvenxu"
            pom.artifactId = "account-captcha"
        }
        }
    }

在上傳的過程中,Gradle能夠基于build.gradle生成對應(yīng)的Maven POM文件,用戶可以自行配置POM信息,比如這里的groupId和artifactId,而諸如依賴配置這樣的內(nèi)容,Gradle是會自動(dòng)幫你進(jìn)行轉(zhuǎn)換的。由于Maven項(xiàng)目之間依賴交互的直接途徑就是倉庫,而Gradle既能夠使用Maven倉庫,也能以Maven的格式將自己的內(nèi)容發(fā)布到倉庫中,因此從技術(shù)角度來說,即使在一個(gè)基于Maven的大環(huán)境中,局部使用Gradle也幾乎不會是一個(gè)問題。

http://wiki.jikexueyuan.com/project/gradleIn-action/images/dag7.png" alt="" />

上一篇:簡介下一篇:項(xiàng)目模塊化