原文地址:http://rominirani.com/2014/07/28/gradle-tutorial-part-2-java-projects/html
在這部分的教學中,咱們會學習如何使用Gradle去編譯,構建,測試你的JAVA項目。咱們將會把關注的焦點放在Gradle的內部機制上,而不是java代碼,因此我將使用很是簡單的java工程來幫助咱們理解Gradle的概念。java
在閱讀本文前,請確保您已經閱讀了第一部分。app
咱們先來炒個回鍋肉,回想一下前面一節咱們所講的一些東西,而且在加一些本節所須要的新知識。ide
總的來講,gradle編譯進程在開始編譯的時候,老是會去尋找build.gradle文件,build.gradle是Gradle的核心文件,該文件包含了Gradle須要執行的各類任務task,和指令去指導Gradle去作的事情。任務task能夠理解爲編譯,測試,編譯jar,部署等事件,只不過在Gradle裏面這些事件能夠被算便打亂,而在通常的IDE裏面,卻只能是編譯 –》構建 –-》部署 – 》發佈的過程。因此Gradle由於任務的概念,使得程序的構建能夠多樣化,一次執行發佈多個包這樣很是靈活的控制。學習
可是咱們也沒有必要手動的爲一次構建過程詳細的指定每個任務,由於在Gradle中有一個叫作Plugin(插件)的東西幫咱們作了這些事情。經過使用插件,咱們能夠很是簡單的指定任務(可是這裏須要編寫插件所提供的約定)。測試
那麼插件是什麼意思呢?這裏的插件和咱們使用軟件時增長插件的那個意思基本一致:一個插件(Plugin)就是咱們能夠用來增長Gradle的能力的約定機制。按照Gradle的約定機制所定義的插件,可讓Gradle知道如何執行任務。gradle
本節咱們不打算關注如何寫一個插件。咱們只是使用一些很是厲害強大的Gradle 插件來幫助咱們作一些事情。這些插件已經提供了一些咱們能夠直接使用的任務。ui
不着急額,來與我多碰一杯,事情就可以一路順風了.插件
讓咱們先從對於java程序猿來講最終要的插件開始提及:java plugin 。這個插件爲項目已經定義以下的能力:3d
1.編譯
2.測試
3.打包
邏輯上來講,這估計就是咱們java項目所須要的一切功能了。其中打包一般意義就是打包一個jar文件。
全部的你須要在項目中使用的插件都須要增長在build.gradle文件中形式以下:
apply plugin:<plugin-name>
如今,咱們須要使用java插件,因此咱們在build.gradle中增長:
apply plugin: 「java」
爲了更好的理解上面這句話是什麼意思,咱們來舉個實例。
在本地電腦上建立一個文件夾:example2 ,在example2文件家裏建立build.gradle,並在文件中加上
apply plugin: 「java」
如圖
而後再cmd裏面執行
gradle tasks
應該就會看到以下結果
能夠看到其中就有java plugin爲咱們提供的各類任務,好比:
build(編譯)
clean(清除)
assemble(集成)
這些任務甚至可能會依賴其餘的任務,具體信息能夠參考官方參考依賴圖。
當你成功執行上面的代碼以後,你再次打開example2文件,會看到下面會多生產一些文件,如今的文件夾下:
雖然java plugin已經提供了 build,clean,assemble等任務,咱們要如何調用呢?固然出了CMD的方式,還能夠集成在build.gradle文件中。