大家学习一个新工具,第一步一般是在自己的机器上手动安装其。这里说一下不安装gradle来通过gradle构建Java项目。
打开工作空间,新建目录结构如下:
└── 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。
?
如果你机器上有gradle,那么现在在根目录(也就是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,就可以正常输出了。
原文:http://somefuture.iteye.com/blog/2281028