gradle谁用过,能给个例子不?

解决方案 »

  1.   

    (1)、建立單模組工程
    類似于Maven的pom.xml檔案,每個Gradle項目都需要有一個對應的build.gradle檔案,該檔案定義一些任務(task)來完成構建工作,當然,每個任務是可配置的,任務之間是可以依賴的,用戶也可以配置缺省任務,build.gradle就像這樣:task hello {
        doLast {
            println 'Hello world!'
        }
    }
    運行:gradle –q  hello> gradle -q hello
    Hello world!和ant一樣,task之間可以有依賴關系,被依賴的先運行,然后才是依賴者。通過dependsOn屬性來指定:task run(dependsOn: classes){……}。任務一旦定義之后,你便可以象使用其它變量一樣使用它,這充分體現了gradle的動態性。如上例,你可以直接使用hello來引用那個任務,它的 類型是Task。你可以給它添加屬性和行為,以備后用。如果你想在任務的執行前后做點小動作,doFirst和doLast是你最好的選擇(摘自 Gradle的用戶指南),依賴關係配置類似于如下code:
    dependencies {
        compile('org.springframework:spring-core:3.0.5')
        compile('org.springframework:spring-beans: 3.0.5')
        compile('org.springframework:spring-context: 3.0.5')
        testCompile('junit:junit:4.7')
    }
    自動化依賴管理的基石是倉庫,Maven中央倉庫已經成為了Java開發者不可或缺的資源,Gradle既然有依賴管理,那必然也得用到倉庫,這當然也包括了Maven中央倉庫,就像這樣:repositories {
        mavenLocal()
        mavenCentral()
        mavenRepo urls: "http://repository.sonatype.org/content/groups/forge/"
    }
    這段代碼几乎不用解釋,就是在Gradle中配置使用Maven本地倉庫、中央倉庫、以及自定義地址倉庫。在我實際搆建項目的時候,能看到終端打印的下載信息,下載后的文件被存儲在 USER_HOME/.gradle/cache/ 目錄下供項目使用,這種實現的方法與Maven又是及其類似了,可以說Gradle不僅最大限度的繼承Maven的很多理念,倉庫資源也是直接拿來用。
    如同Ant一般,Gradle給了用戶足夠的自由去定義自己的任務,不過同時Gradle也提供了類似Maven的約定如配置方式,這是通過 Gradle的Java Plugin實現的,從文檔上看,Gradle是推荐這種方式的。Java Plugin定義了與Maven完全一致的項目布局:• src/main/java
    • src/main/resources
    • src/test/java
    • src/test/resourcessourceSets {
        main {
            java {
                srcDir 'src/java'
            }
            resources {
                srcDir 'src/resources'
            }
        }
    }