当第一次通过wrapper使用指定版本的Gradle构建系统时,wrapper首先下载对应版本的Gradle可执行文件。Gradle Wrapper的所有文件在都可以被提交到版本库中,所以,任何人都可以在没有安装Gradle的环境下使用相同版本的Gradle构建系统。
  在这个时候,我们需要重新构建我们的代码,构建的结果目录如下:
  build
  ├── classes
  │   └── main
  │       └── hello
  │           ├── Greeter.class
  │           └── HelloWorld.class
  ├── dependency-cache
  ├── libs
  │   └── gs-gradle-0.1.0.jar
  └── tmp
  └── jar
  └── MANIFEST.MF
  Jar文件中包含我们希望打包的Gretter和HelloWorld类。
  $ jar tvf build/libs/gs-gradle-0.1.0.jar
  0 Fri May 30 16:02:32 CDT 2014 META-INF/
  25 Fri May 30 16:02:32 CDT 2014 META-INF/MANIFEST.MF
  0 Fri May 30 16:02:32 CDT 2014 hello/
  369 Fri May 30 16:02:32 CDT 2014 hello/Greeter.class
  988 Fri May 30 16:02:32 CDT 2014 hello/HelloWorld.class
  需要注意的,即使我们声明了joda-time依赖,但这里也没有包括对应的库文件,而且生成的JAR文件也不是可运行JAR文件。
  要想让代码可以运行,我们可以使用Gradle的application插件。增加以下内容到build.gradle文件中。
  apply plugin: 'application'
  mainClassName = 'hello.HelloWorld'
  现在我们的app可以执行了。
  $ ./gradlew run
  :compileJava UP-TO-DATE
  :processResources UP-TO-DATE
  :classes UP-TO-DATE
  :run
  The current local time is: 16:16:20.544
  Hello world!
  BUILD SUCCESSFUL
  Total time: 3.798 secs
  为了能够将依赖包也以一起打包,比如,我们希望构建一个WAR包,可以包含第三方组件的打包格式,我们可以使用Gradle的WAR插件。如果我们使用Spring Boot并且希望得到一个可执行的JAR文件,我们可以使用spring-boot-gradle-plugin插件。在我们的示例中,gradle没有足够的信息来了解我们的目标系统。但是,目前介绍的内容已经足够我们开始使用Gradle了。
  下面是本文需要用的的build.gradle文件:
apply plugin: 'java'
apply plugin: '<span class="wp_keywordlink"><a href="http://res.importnew.com/eclipse" title="Eclipse ImportNew主页" target="_blank">Eclipse</a></span>'
apply plugin: 'application'
mainClassName = 'hello.HelloWorld'
// tag::repositories[]
repositories {
mavenLocal()
mavenCentral()
}
// end::repositories[]
// tag::jar[]
jar {
baseName = 'gs-gradle'
version =  '0.1.0'
}
// end::jar[]
// tag::dependencies[]
dependencies {
compile "joda-time:joda-time:2.2"
}
// end::dependencies[]
// tag::wrapper[]
task wrapper(type: Wrapper) {
gradleVersion = '1.11'
}
// end::wrapper[]
  注意:文件中有很多start/end注释,这些注释是为了方便拷贝文件中的内容到文章的各个部分,在实际使用中不需要包含他们。
  总结
  恭喜,你已经创建了一个简单的然而可用的Gradle构建文件来构建Java项目。