在閱讀或實踐本文中的範例前,必須首先確保已將Gradle
外掛安裝到Eclipse
中。如果沒有,可以點選下面的連結檢視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
- 檔案將包含必要的一些設定,例如,任務或專案之間的依懶關係等。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
類應該會得到以下結果:
可以在專案中清楚地看到使用的庫,它在硬碟上的位置如下圖所示 -
上面的步驟中我們已經建立了專案,並且成功地執行了。該專案使用的StringUtils
類,它是一個Apache類,而不是在JDK的標準庫中的類。傳統上做法,必須將這個類庫複製到專案並宣告類路徑。但是,這裡並不需要像傳統方式那樣複製和宣告類路徑。這些類庫可以讓Gradle
來管理。 現在來看看Gradle
是如何工作的,如下圖中所示 -
上圖顯示了Gradle工作的整個過程,下面我們一步步來說明。
build.gradle
中宣告了該專案依賴於common-lang3
庫版本3.0
。Classpath
。所以只需要在build.gradle
檔案中宣告所有想要使用的庫,這些庫由Gradle
自己管理。
你會不會有這樣的一個問題:本地儲存庫在我電腦的什麼位置?如果是按上面所有套路來建立工程,那麼看下圖就知道了 -
而上面組態中使用到的 commons-lang3
庫的路徑在 C:/Users/Administrator/.gradle/caches/modules-2/files-2.1/org.apache.commons
,如下圖所示 -
預設情況下,Gradle
軟體將通過 Eclipse
下載到C:/Users/{username}/.gradle
目錄中。但是可以將組態更改其位置。例如想要把這個下載目錄修改為 D:/worksp/gradle/Downloads
,那麼可以按照以下操作來組態。
在 Eclipse 選單中,開啟 Window
-> References
選擇目錄 D:/worksp/gradle/Downloads
,如下圖所示 -
右鍵單擊專案,然後選擇 Gradle
-> Refresh Gradle Project
,Gradle
將重新下載到剛剛設定的新檔案夾。如下圖所示 -
問題:在哪裡查詢資訊groupId,artifactId和版本呢?
可以去網站: http://mvnrepository.com ,例如在我們上面範例使用的 common-lang3 ,可在網站中搜尋找到開啟URL:http://mvnrepository.com/artifact/org.apache.commons/commons-lang3
如下圖中所示 -
可根據你想要的一個版本,找到 gradle 的相關資訊,如下所示 -