Gradle 15分鐘入門教學
1-Gradle入門介紹
在閱讀或實踐本文中的實例前,必須首先確保已將Gradle插件安裝到Eclipse中。如果沒有,可以點擊下面的鏈接查看Gradle安裝說明:
本教程的目標:
這是項目完成後的代碼結構圖:
2-創建Gradle項目
打開 Eclipse,單擊並選擇菜單 File->New->Other 並選擇 Gradle Project 如下圖所示 -
點擊下一步(Next)顯示集成的一些說明,如下 -
點擊下一步(Next),並填入要創建的項目的名稱 HelloGradle 並點擊完成(Finish),如下 -
在第一次運行時,Eclipse將下載Gradle相關軟件或要求指定本機安裝 Gradle 的路徑。請參考Eclipse+Gradle集成教程。
默認情況下,
Gradle軟件將通過Eclipse下載到C:/Users/{username}/.gradle。不過可以配置更改到其它位置,此配置在本指南的最後一個附錄中有說明。
Gradle將自動創建項目所需要的文件結構。其結構類似於Maven項目。
注意,這是一個 gradle 項目定義的項目結構,怎麼樣,是不是有點熟悉?
-
src/main/java- 文件夾包含所有java源文件。 -
src/test/java- 文件夾包含所有java測試用例。 -
build.gradle- 文件包含項目構建所使用的腳本。 -
settings.gradle- 文件將包含必要的一些設置,例如,任務或項目之間的依懶關係等。
3- 配置Gradle
build.gradle文件是配置項目中要使用的庫的文件。它和Maven工程中的pom.xml相同。
打開build.gradle文件配置將要使用的庫,默認生成的代碼內容如下:
/*
* This build file was auto generated by running the Gradle 'init' task
* by 'Administrator' at '16-10-30 下午4:20' with Gradle 3.1
*
* This generated file contains a sample Java project to get you started.
* For more details take a look at the Java Quickstart chapter in the Gradle
* user guide available at https://docs.gradle.org/3.1/userguide/tutorial_java_projects.html
*/
// Apply the java plugin to add support for Java
apply plugin: 'java'
// In this section you declare where to find the dependencies of your project
repositories {
// Use 'jcenter' for resolving your dependencies.
// You can declare any Maven/Ivy/file repository here.
jcenter()
}
// In this section you declare the dependencies for your production and test code
dependencies {
// The production code uses the SLF4J logging API at compile time
compile 'org.slf4j:slf4j-api:1.7.21'
// Declare the dependency for your favourite test framework you want to use in your tests.
// TestNG is also supported by the Gradle Test task. Just change the
// testCompile dependency to testCompile 'org.testng:testng:6.8.1' and add
// 'test.useTestNG()' to your build script.
testCompile 'junit:junit:4.12'
}
向上面的源代碼文件中添加以下代碼 -
// https://mvnrepository.com/artifact/org.apache.commons/commons-lang3
compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.0'
添加後如下 -
注意:如果
build.gradle文件更新,Eclipse目前不會自動更新類路徑。要在項目上或在build.gradle文件中點擊右鍵選擇 Gradle/Refresh Gradle 來更新項目。
如果將新的庫添加到 build.gradle 中聲明,Gradle 將會把它們下載到本地計算機上。
接下來,創建一些 Java 類來測試使用下載的類庫,這裏創建一個簡單的 CheckNumeric.java 類,如下所示 -
CheckNumeric.java 類的代碼如下所示 -
package com.yiibai.hellogradle;
import org.apache.commons.lang3.StringUtils;
public class CheckNumeric {
public static void main(String[] args) {
String text1 = "a12340";
String text2 = "1234";
boolean result1 = StringUtils.isNumeric(text1);
boolean result2 = StringUtils.isNumeric(text2);
System.out.println(text1 + " is a numeric? " + result1);
System.out.println(text2 + " is a numeric? " + result2);
}
}
運行 CheckNumeric 類應該會得到以下結果:
可以在項目中清楚地看到使用的庫,它在硬盤上的位置如下圖所示 -
4-解釋Gradle的操作原理
上面的步驟中我們已經創建了項目,並且成功地運行了。該項目使用的StringUtils類,它是一個Apache類,而不是在JDK的標準庫中的類。傳統上做法,必須將這個類庫複製到項目並聲明類路徑。但是,這裏並不需要像傳統方式那樣複製和聲明類路徑。這些類庫可以讓Gradle來管理。 現在來看看Gradle是如何工作的,如下圖中所示 -
上圖顯示了Gradle工作的整個過程,下面我們一步步來說明。
- 在
build.gradle中聲明瞭該項目依賴於common-lang3庫版本3.0。 - 當使用Gradle工具刷新項目時,Gradle將檢查指定的依賴庫是否在計算機上有本地存儲庫。 如果沒有,Gradle將從互聯網的存儲庫中下載到本地。
- 最後,Gradle將自動聲明
Classpath。
所以只需要在build.gradle文件中聲明所有想要使用的庫,這些庫由Gradle自己管理。
5-查看本地存儲庫
你會不會有這樣的一個問題:本地存儲庫在我電腦的什麼位置?如果是按上面所有套路來創建工程,那麼看下圖就知道了 -
而上面配置中使用到的 commons-lang3 庫的路徑在 C:/Users/Administrator/.gradle/caches/modules-2/files-2.1/org.apache.commons,如下圖所示 -
6- Gradle位置配置
默認情況下,Gradle軟件將通過 Eclipse 下載到C:/Users/{username}/.gradle目錄中。但是可以將配置更改其位置。例如想要把這個下載目錄修改爲 D:/worksp/gradle/Downloads,那麼可以按照以下操作來配置。
在 Eclipse 菜單中,打開 Window -> References 選擇目錄 D:/worksp/gradle/Downloads,如下圖所示 -
右鍵單擊項目,然後選擇 Gradle -> Refresh Gradle Project,Gradle將重新下載到剛剛設置的新文件夾。如下圖所示 -
7-在網絡查看Gradle存儲庫
問題:在哪裏查找信息groupId,artifactId和版本呢?
可以去網站: http://mvnrepository.com ,例如在我們上面示例使用的 common-lang3 ,可在網站中搜索找到打開URL:http://mvnrepository.com/artifact/org.apache.commons/commons-lang3
如下圖中所示 -
可根據你想要的一個版本,找到 gradle 的相關信息,如下所示 -