Gradle使用文档文档格式.docx
- 文档编号:7343046
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:14
- 大小:208.79KB
Gradle使用文档文档格式.docx
《Gradle使用文档文档格式.docx》由会员分享,可在线阅读,更多相关《Gradle使用文档文档格式.docx(14页珍藏版)》请在冰点文库上搜索。
//www.gradle.org。
官方网站上面可以下载到各种版本,以及文档、和论坛等。
目前gradle的最新版本为2.0.
我们下载gradle的最新版本,下载官网上的gradle-2.0-all.zip。
2.2安装
gradle的安装方法很简单,将解压后的gradle的bin目录加到path目录即可。
如下图所示:
其中,gradle_home目录为我们解压gradle下载包的目录。
为了验证我们的gradle是否安装成功。
我们可以执行命令gradle–v加以验证。
3开始一个例子
3.1新建一个空的javaproject工程
通过eclipse向导新建一个JavaProject工程。
工程如下:
3.2编写HelloWorld类和build.gradle,代码如下
新建一个com.sina.landp的package,然后在其下面新建一个HelloWorld类,代码如下:
packagecom.sina.landp;
publicclassHelloWorld{
publicstaticvoidmain(String[]args){
System.out.println("
Helloworld!
"
);
}
}
以上是一个java入门级的类。
再编写build.gradle在我们的工程目录下(如上图所示)。
代码如下:
applyplugin:
'
java'
3.3开始构建
在工程所在的目录下,打开cmd,运行gradlebuild命令,并执行。
执行结果如下:
3.4整理成果
通过上面的执行日志,我们可以看到,我们的工程大致经过了编译、运行测试案例、构建这几个大过程。
同时,我们在工程的目录下,发现新生成了一个build的目录,目录内容如下:
根据目录名称,我们也能大概猜到里边存放的内容。
特别地,我们可以在libs目录下,找到demo-gradle.jar。
在reports目录下存放了一个html,我们用浏览器打开后,其内容如下:
正如其标题所示,该页面反映了我们的单元测试案例结果。
OK,正如你看到的一样,gradle构建就这么简单。
我们这里仅用了一行代码,就完成了一个java工程的基本构建。
4gradle基本概念介绍
gradle构建过程,逻辑上都基于两个基本的概念,projects和tasks。
4.1projects
一个Project应该指出最终要生成的内容,例如要生成一个Jar、要构建出一个war等等。
为了实现最终的目的,我们要通过一个或多个任务来完成。
任务即tasks。
4.2tasks
一个task可以理解为构建的一个步骤,例如编译java文件为class。
Task是原子操作。
Task和ant非常相像。
5常用的task介绍
我们现在尝试一些常用的task,并运行起来看看结果。
5.1编写自己的简单task
刚开始,我们还是来一个helloworld。
在我们自己的电脑的文件目录上,新建一个build.gradle的文件,文件内容为:
taskhello{println'
HelloWorld'
此时通过cmd到该文件所在的目录下,此时在cmd上执行命令:
gradlehello
我们可以得到以下结果:
很显然,我们的任务已经被正确调用并执行。
另外,gradle的task也支持这种写法:
taskhello<
<
{println'
执行结果和上面一样的。
5.2增加task的任务依赖
修改build.gradle,内容改为:
taskintro(dependsOn:
hello)<
introrunsafterhello'
运行gradleintro命令,得到执行结果如下:
5.3使用task自带的api
Task自带了一些api接口,我们可以申明这些接口要执行的内容,从而插入我们要额外执行的内容。
修改build.gradle文件内容如下:
{
println'
HelloEarth'
hello.doFirst{
HelloVenus'
hello.doLast{
HelloMars'
hello<
HelloJupiter'
运行命令,得到以下执行结果:
注意doFirst中的内容首先被执行。
5.4构建java工程
通过以上几个简单例子,我们对task已经有些认识了。
我们现在来看看把这些任务综合起来完成项目的构建。
也许,我们还记得,在第三章的例子中,我们仅用了一行代码,即完成了对整个java工程的构建。
代码为:
从其执行的日志,我们可以看到,其实,该行命令带来的结果是,gradle将一套完整的java构建工程的task全引入到了我们的构建过程中。
重点是,这些引入都是正确的。
我们之前有说到,project就是多个task一起组合起来完成构建任务,并生成我们想要的内容。
既然gradle帮我们已经引入了很多的task,那就意味着,我们只需要再添加一些我们需要的task,就可以完成我们自己的项目的构建过程。
确实是这样的。
5.4.1添加依赖包
接下来,我们做一点更有意义和难度的事情。
我们项目里要用到spring,现在需要搭建一个简单的spring工程。
那么,第一件事,我们需要做的,就是把spring的jar下载下来。
Ok,修改demo-gradle工程的build.gradle文件内容为:
repositories{
mavenCentral()
dependencies{
compile'
org.springframework:
spring-context:
4.0.5.RELEASE'
同样地,在build.gradle所在目录下,执行gradlebuild命令。
可以说是奇迹发生了吧,得到执行结果如下:
工程不但构建完成,还下载了我们需要的spring的jar包。
此时,如果回到eclipse中,发现下载的jar并没有被引入到工程中。
再在build.gradle中第二行添加一行:
eclipse'
之后,执行命令gradleeclipse,得到以下结果:
回到eclipse中,刷新工程,可以看到我们的jar已经被工程引用了。
5.4.2修改java编译细节
最常见的,就是我们要指定编译生成的jar基于jdk的版本。
修改build.gradle内容为:
sourceCompatibility=1.6
targetCompatibility=1.6
以上两个属性的作用分别如下:
sourceCompatibility,指定编译java源代码的jdk版本;
targetCompatibility,指定生成的class文件的jdk版本。
添加后执行gradlebuild命令,也会是成功的。
另外,以上两个属性,也是compleJava的属性。
也可以写成:
compileJava{
sourceCompatibility=1.6
targetCompatibility=1.6
5.4.3指定manifest文件及细节
在build.gradle中添加以下内容:
jar{
manifest{
attributes'
Implementation-Title'
:
demogradleQuickstart'
'
Implementation-Version'
1.0
}
执行完gradlebuild命令后,打开demo-gradle.jar中的manifest文件,其内容如下所示:
5.4.4执行单元测试
在工程中添加一个单元测试案例。
如图所示:
HelloWorld.java文件内容调整为:
publicStringsayHello(Stringname){
return"
Hello"
+name;
HelloWorldTest.java文件内容如下:
importstaticorg.junit.Assert.assertEquals;
importorg.junit.Before;
importorg.junit.Test;
publicclassHelloWorldTest{
privateHelloWorldhelloWorld;
@Before
publicvoidsetUp(){
helloWorld=newHelloWorld();
@Test
publicvoidshould_OK_when_call_sayHello_given_a_name(){
Stringname="
Andy"
;
Stringresp=helloWorld.sayHello(name);
Stringexpected="
HelloAndy"
assertEquals(expected,resp);
当然,在我们新建”junitTestCase”时,eclipse就会要求我们添加junit的依赖包。
此时,我们的HelloWorldTest可以正常运行。
为了使得gradle能正常运行,我们需要修改build.gradle文件内容如下:
dependencies{
testCompile"
junit:
4.11"
运行gradlebuild命令,可以看到成功执行。
5.5构建web工程
修改build.gradle文件,添加内容:
"
war"
我们可以通过jetty快速地运行起来我们的工程。
对jetty的配置,我们可以指定jetty服务端口号。
jettyRun{
httpPort=9898
另外,和jar类似,可以对war这个task做一些配置。
例如,指定哪些jar不用包含在war里边。
对应的配置如下:
war{
baseName='
depblog'
rootSpec.exclude("
**/xxx.jar"
)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Gradle 使用 文档
![提示](https://static.bingdoc.com/images/bang_tan.gif)