鍍金池/ 教程/ 物聯(lián)網(wǎng)/ 拆分項(xiàng)目文件
依賴管理實(shí)戰(zhàn)
配置遠(yuǎn)程倉庫
安裝Gradle
簡介
項(xiàng)目自動化簡介
配置子項(xiàng)目
Gradle強(qiá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 起步
介紹這個Gradle項(xiàng)目
簡介
自定義腳本
Gradle包裝器
簡要概述依賴管理
項(xiàng)目模塊化

拆分項(xiàng)目文件

到目前為止我們自定義了一個build.gradle和settings.gradle文件,隨著你添加越來越多的子項(xiàng)目和任務(wù)到build.gradle中,代碼的維護(hù)性將會下降。通過給每個子項(xiàng)目建立一個單獨(dú)的build.gradle文件可以解決這個問題。

接下來我們在每個子項(xiàng)目的目錄下創(chuàng)建一個build.gradle文件,目錄如下:

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

現(xiàn)在你可以把構(gòu)建邏輯從原先的build腳本中拆分開來放到合適的位置。

定義根項(xiàng)目的構(gòu)建代碼

移除了那些與特定子項(xiàng)目相關(guān)的代碼后,根項(xiàng)目的內(nèi)容變得非常簡單,只需要保留allprojects和subprojects配置塊,如下所示:

    allprojects {
        group = 'com.manning.gia'
        version = '0.1'
    }

    subprojects {
        apply plugin: 'java'
    }

定義子項(xiàng)目的構(gòu)建代碼

接下來你只需要把與特定項(xiàng)目相關(guān)的構(gòu)建代碼移到相應(yīng)的build.gradle文件里就可以了,如下所示:

repository子項(xiàng)目的構(gòu)建代碼:

    dependencies {
        compile project(':model')
    }

web子項(xiàng)目的構(gòu)建代碼:

    apply plugin: 'war'
    apply plugin: 'jetty'

    repositories {
        mavenCentral()
    }

    dependencies {
        compile project(':repository')
        providedCompile 'javax.servlet:servlet-api:2.5'
        runtime 'javax.servlet:jstl:1.1.2'
    }

運(yùn)行這個多項(xiàng)目構(gòu)建和之前單獨(dú)的一個build腳本的結(jié)果完全一樣,當(dāng)時你該上了構(gòu)建代碼的可讀性和維護(hù)性。