Java Gradle入門指南之插件管理(類型、導入及java plugin使用)

博客逐步遷移至 極客兔兔的小站html

    上一篇隨筆介紹瞭如何使用Gradle內建任務,介紹了自定義Gradle任務類的三種方法(build文件,buildSrc文件夾、新建groovy項目),一個任務是一個原子操做,即不可分割的。項目開發過程當中,咱們每每須要按照必定順序執行多個任務以完成某個特定功能(例如build、clean),多個任務及其屬性、配置的集合稱之爲一個pluginjava

    Gradle提供了2種類型的插件,腳本插件(script plugin)和二進制插件(binary plugin)。Gradle擁有十分豐富的插件,僅掌握其中幾個就可以極大地提高工做效率,這篇文章將介紹Gradle的2種插件的導入方法及項目開發中極爲經常使用的java pluginapp

    若有錯誤,請不吝指出,很是感謝;若是本文對你有幫助,右下角點個推薦吧~ide

1.導入插件

1.1 腳本插件(script plugin)

    一個腳本插件能夠視做一個Gradle文件,能夠在其餘文件中導入,至關於多個類的模塊化,下面是個很是簡單的例子模塊化

// ~/Test/helloplugin.gradle
task helloTask << {
    println 'I Am Called !'
}
// ~/Test/build.gradle
apply from: 'helloplugin.gradle'

task mainTask << {
    println 'I am ' + name
}
執行結果以下
C:\Users\gzd\Desktop\Test>gradle hT mT
:helloTask
I Am Called !
:mainTask
I am mainTask

1.2 二進制插件(binary plugin)

    腳本若是若是通過編譯,那麼就能夠稱之爲二進制插件,例如上一篇博客新建groovy項目編譯造成的 HelloTask-1.0.jar,二進制插件能夠理解爲提供接口的類的集合,二進制插件可複用性更強測試

// 導入 java插件
// apply plugin: '<pluginid>'
apply plugin: 'java'

// 若是已經使用import導入了相關類
// 可以使用 apply <Class> 例如 apply HelloTask
  • java是Gradle的核心插件,是內置的,內置插件不須要配置依賴路徑
  • Gradle 內置的插件包含:gradle

    (1) 編譯、測試插件(Java、Groovy、Scala、War 等)
    (2) 代碼分析插件(Checkstyle、FindBugs、Sonar 等)

    (3) IDE插件(Eclipse、IDEA等)ui

  • 若是引入第三方插件,那麼就須要配置依賴路徑了,例子可參考Gradle之定製任務最後一部分this

buildscript {
    repositories {  ...  }
    dependencies {  ...  }
}

2. Java plugin 使用方法

    Java plugin是Gradle核心API的一部分,Java plugin插件提供了一系列的任務支持構建、編譯、測試Java項目。插件

2.1 導入java plugin

// ~/Test/build.gradle
// 導入java插件
// jcenter()是一個插件倉庫,導入的插件將會在倉庫中尋找並下載
buildscript {
    repositories {  jcenter()  }
}
apply plugin: 'java'
在Test/下(即build.gradle)所在的目錄執行 gradle tasks --all
將會列出java插件支持的全部任務
例如咱們所熟悉的 gradle build、gradle clean
C:\Users\gzd\Desktop\Test>gradle tasks --all
:tasks
...
Build tasks
-----------
build - Assembles and tests this project.
clean - Deletes the build directory.

Rules
-----
Pattern: clean<TaskName>
Pattern: build<ConfigurationName>
Pattern: upload<ConfigurationName>

2.2 查看默認配置

執行gradle dJPC,將打印java插件的默認配置
C:\Users\gzd\Desktop\Test>gradle dJPC
:dislpayJavaPluginConvention
Lib Dir: C:\Users\gzd\Desktop\Test\build\libs
Lib Dir Name:libs
Sources Code Dir[source set 'main', source set 'test']
Production Code Dir[C:\Users\gzd\Desktop\Test\src\main\java]
  • 這個任務可以讓咱們知道java插件的默認配置,更完整的信息能夠查看Gradle官方文檔
  • 例如Production Code Dir,咱們只須要將代碼寫在 src/main/java目錄下,執行gradle build,編譯時Gradle將自動尋找該目錄下的java代碼進行編譯,這和Eclipse自動生成的目錄十分地類似,在這裏咱們只是手動作了IDE作的事情

2.3 覆蓋默認配置

// 咱們能夠在build.gradle中覆蓋其默認配置
libsDir = 'buildFolder'
libsDirName = 'libfolder'
sourceSets {
    main {
        java {
            srcDir 'src/maincode/java'
        }
        resources {
            srcDir 'src/maincode/resources'
        }
    }
    test {
        // 省略測試配置...
    }
}
  • 上述代碼就將java插件默認的路徑更改了,有時咱們複用別人的項目時,目錄結構不一致,此時經過更改java插件默認配置可以節省大量的時間。
  • 關於java plugin 更多完整的屬性和用法能夠查看官方文檔

3.寫在最後

相關文章
相關標籤/搜索