不为有趣之事,何遣有涯之生
不失其所者久,死而不亡者寿

Gradle简明教程(3) 联姻JAVA开始一个WEB应用

快速牵手JAVA

  • Gradle将把你从传统的构建流程中解放出来,针对不同的语言它有着各种不同的插件,通过插件封装了基本流程

  • 如何使用JAVA插件?只要一行代码

apply plugin: 'java'

这就定义了一个java项目的全部,自动添加很多task
Gradle 会在 src/main/java 目录下寻找产品代码,在 src/test/java 寻找测试代码 。

另外在 src/main/resources 包含了资源的 JAR 文件, src/test/resources 包含了运行测试。
所有的输出都在 build 目录下,JAR 在 build/libs 目录下

  • 外部依赖
    和Maven一样,我们也可以使用maven repository
apply plugin: 'java'

repositories {
    mavenCentral()
}

dependencies {
        compile group: 'org.springframework', name: 'spring-core', version: '4.2.5.RELEASE'
        compile group: 'org.hibernate', name: 'hibernate-core', version: '3.6.7.Final'
        testCompile group: 'junit', name: 'junit', version: '4.+'
    }

Maven respository网站上已经提供了各种工具包的依赖,稍微改变下格式描述就可以了
(下面将会介绍到Groovy插件,它更强大是java插件的扩展)

获取依赖

执行 gradle build

bulid结果

  • 需要注意的是一个groovy项目也是一个java项目
apply plugin: 'groovy'

repositories {
    mavenCentral()
}

dependencies {
        compile 'org.codehaus.groovy:groovy-all:2.3.6'
        compile 'commons-logging:commons-logging:1.2'
        compile 'org.springframework:spring-core:4.2.5.RELEASE'
        testCompile 'junit:junit:4.11'
    }

比之前的java插件更强大哦, 而且依赖的描述也更简单了,从respository中直接copy就行了

快速开始Web应用

构建WAR文件
  • 使用war插件来构建war文件
apply plugin: 'war'

当运行 gradle build时就会编译、测试、打包工程一个war文件

  • 运行应用插件
apply plugin: 'jetty'

当你运行 gradle jettyRun 的时候,应用将会运行在一个内嵌的jetty web容器中

gradle的Task执行规则
  • 同个构建可以执行多个task,但每个task只能被执行一次,不管它是在哪个阶段被执行
    task compile << {
        println 'compiling source'
    }

    task compileTest(dependsOn: compile) << {
        println 'compiling unit tests'
    }

    task test(dependsOn: [compile, compileTest]) << {
        println 'running unit tests'
    }

    task dist(dependsOn: [compile, test]) << {
        println 'building the distribution'
    }

执行 gradle dist结果如下

任务执行规则

未经允许不得转载:菡萏如佳人 » Gradle简明教程(3)

欢迎加入极客江湖

进入江湖关于作者