大家学习一个新工具,第一步一般是在自己的机器上手动安装其。
打开工作空间,新建目录结构如下:
└── src └── main └── java └── hello
之所以要这样,是因为gradle的Java插件默认扫描这样的目录来查找Java代码。
hello是我们的包,在里面新建Java类。比如:
package hello; import org.joda.time.LocalTime; public class HelloWorld { public static void main(String[] args) { LocalTime currentTime = new LocalTime(); System.out.println(currentTime); Greeter greeter = new Greeter(); System.out.println(greeter.sayHello()); } }
和
package hello; public class Greeter { public String sayHello() { return "Hello world!"; } }
接下来新建gradle配置文件build.gradle:
apply plugin: 'java' repositories { mavenCentral() } sourceCompatibility = 1.8 targetCompatibility = 1.8 dependencies { compile "joda-time:joda-time:2.2" } jar { baseName = 'gs-gradle' version = '0.1.0' }
第一行申明使用Java插件。因为gradle不是只支持Java,其他很多语言也可以通过gradle构建。所以gradle没有默认使用Java插件。
后面申明使用maven的库,后面是代码版本,然后是依赖申明,这里为了演示,使用了joda。后面是构建为jar包的配置,构建后jar的名称就是gs-gradle-0.1.0.jar。
现在在根目录(也就是build.gradle的目录)执行
gradle build
就会看到结果。
然后我们继续。
打开buidl.gradle文件,在最下面增加一个任务:
task wrapper(type: Wrapper) { gradleVersion = '2.3' }
保存后执行
gradle wrapper
你会发现生成了不少新东西,比如gradlew。这些东西类似于绿色版gradle下载器。所以如果是团队合作开发,只要大家都从版本控制服务器下载了你那个buidl.gradle,大家执行的结果就一样。
然后我们执行
gradlew build
它会开始下载相应版本的gradle(版本就是上面task wrapper指定的),然后自动构建。
这个时候,如果你兴高采烈的跑去执行
gradlew run
,会发现不可以。
为了让jar包能执行,我们继续修改build.gralde:
apply plugin: 'application' mainClassName = 'hello.HelloWorld'
应用了application插件,并指明了主类。
然后执行gradle run,就可以正常输出了。