gradle构建样例

来源:互联网 发布:yy mac进入房间失败 编辑:程序博客网 时间:2024/06/05 23:00

从一个构建工程中了解gradle的基本概念
构建工具中的元素

构建文件构建的输入和输出构建引擎依赖管理器

参考 gradle实战的案例
https://github.com/bmuschko/gradle-in-action-source

一个好用的gradle插件
https://github.com/townsfolk/gradle-templates

插件:
gradle 构建一个javaweb项目

在构建文件build.gradle中
    apply plugin: 'java'
gradle build 是java插件提供的任务,在默认的项目目录下执行编译,运行测试,组装jar文件。添加辅助信息例如:
        apply plugin: 'java'        apply plugin: 'maven'        group = 'com'        version = '0.0.1-SNAPSHOT'        description = """ums"""        sourceCompatibility = 1.8        targetCompatibility = 1.8        tasks.withType(JavaCompile) {            options.encoding = 'UTF-8'        }

项目约定的配置属性
java项目约定的项目布局
src/main/java
/resources
src/test/java
/resource

倘若没有按照固定的目录,那么可以在build文件中指定编译目录
    /**     * 自定义项目编译目录,均是当前build文件的相对路径     */    sourceSets{        main{        java{            srcDirs=['src']        }        }        test{        java{            srcDirs=['test']        }        }    }    buildDir = 'out';

配置依赖

    repositories {        maven { url "http://repo.maven.apache.org/maven2" }        mavenLocal();    }    dependencies {        compile group: 'org.apache.poi', name: 'poi-ooxml', version:'3.9'        compile group: 'org.apache.logging.log4j', name: 'log4j-api', version:'2.7'        compile group: 'org.apache.logging.log4j', name: 'log4j-core', version:'2.7'        compile group: 'org.apache.commons', name: 'commons-lang3', version:'3.5'        compile group: 'org.apache.httpcomponents', name: 'httpclient', version:'4.5.3'        ......    }
gradle 构建和运行javaWeb项目,可以使用war插件和jetty插件。war插件扩展自java插件,为web应用部署和组装war添加了约定和支持。javaweb项目约定的布局    build.gradle    src/main/java    src/main/webappweb项目在构建时需要外部依赖,运行时需要。//tododependencies{    providedCompile 'javax.servlet:servlet-api:2.5'    runtime 'javax.servlet:jstl:1.1.2'}java Web项目目录定制例如:    build.gradle    src/main/java    static/css    webfiles/WEB-INFO/web.xml    webfiles/jsp/那么,可以在build文件中如下设置:```//指定war包的目录webAppDirName = 'webfiles'//指定包含war的路径war{    from 'static'}

“`
添加jetty插件
apply plugin: ‘jetty’
apply from: ‘https://raw.github.com/akhikhl/gretty/master/pluginScripts/gretty.plugin’

如果如上的第一条语句报错,jettyy插件无法找到,那么可以选择第二条语句,下载gretty插件。定制jetty插件的属性,例如端口号,上下文等。jettyRUn{    httpPort = 9090    contextPath='zums';}