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 的相关信息,如下所示 -