• 3.Gradle构建Java项目


    1. Java开发

    Java插件是Gradle自身装载的一个插件。Java插件提供的基本功能远比源代码编译和打包多。它为你的项目建立了一个标准的项目布局,并确保有意义、有顺序地执行任务。现在,为你的项目创建一个构建脚本并使用Java插件。

    1.1 使用插件

    使用java插件

    apply plugin: 'java'
    

    1.2 定制项目

    可以修改项目和插件属性

    apply plugin: 'java'
    
    version = 0.1
    // 设置java版本编译兼容1.6
    sourceCompatibility = 1.6
    
    jar {
        manifest {
            attributes 'Main-Class': 'com.manning.gia.todo.ToDoApp'
        }
    }
    

    可以修改项目结构

    apply plugin: 'java'
    
    version = 0.1
    sourceCompatibility = 1.6
    
    // 指定打包jar的启动类属性
    jar {
        manifest {
            attributes 'Main-Class': 'com.manning.gia.todo.ToDoApp'
        }
    }
    
    // 修改项目结构
    sourceSets {
        main {
            java {
                srcDirs = ['src']
            }
        }
        test {
            java {
                srcDirs = ['test']
            }
        }
    }
    
    // 指定编译后文件输出目录
    buildDir = 'out'
    

    1.3 使用外部依赖

    定义仓库

    repositories {
        // 配置对maven central仓库的访问快捷方式
        mavenCentral()
    }
    

    定义依赖

    dependencies {
        compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.1'
    }
    

    2. web开发

    build.gradle

    // 配置插件
    apply plugin: 'java'
    apply plugin: 'war'
    apply plugin: 'jetty'
    
    // 配置仓库地址
    repositories {
        mavenCentral()
    }
    
    // 配置依赖
    dependencies {
        providedCompile 'javax.servlet:servlet-api:2.5'
        runtime 'javax.servlet:jstl:1.1.2'
    }
    
    // 定制jetty插件
    jettyRun {
        httpPort = 9090
        contextPath = 'todo'
    }
    
    // 改变web的源代码目录,默认webapp
    webAppDirName = 'webfiles'
    
    // 将css和js目录转移到war根目录下的static下
    war {
        from 'static'
    }
    

    构建项目

    gradle build
    

    运行jetty

    gradle jettyRun
    

    3. Gradle包装器

    它是 Gradle 的核心特性,能够让机器在没有安装 Gradle 运行时的情况下运行Gradle 构建。它也让构建脚本运行在一个指定的 Gradle 版本上。它是通过自动从中心仓库下载 Gradle 运行时,解压和使用来实现的。最终的目标是创造一个独立于系统、 系统配置和 Gradle 版本的可靠和可重复的构建。

    3.1 配置包装器

    在构建脚本中添加包装器任务

    task wrapper(type: Wrapper) {
        //指定要使用的gradle版本
        gradleVersion = '5.0'
    }
    

    同时提供用于linux和windows使用的脚本 gradlew 和 gradlew.bat

    3.2 使用包装器

    gradlew.bat jettyRun
    

    image-20200718144713357

    当包装器任务被执行时,Gradle 运行时会被下载、解包并使用

    3.3 定制包装器

    task wrapper(type: Wrapper) {
        //请求的gradle版本
        gradleVersion = '5.0'
        //获取gradle包装器的地址
        distributionUrl = 'http://myenterprise.com/gradle/dists'
        //包装器被解压后存放的相对路径
        distributionPath = 'gradle-dists'
    }
    

    4. 参考

    1. 《实战Gradle 中文版》
  • 相关阅读:
    2016"百度之星"
    codeforces 55 div2 C.Title 模拟
    codeforces 98 div2 C.History 水题
    codeforces 97 div2 C.Replacement 水题
    codeforces 200 div2 C. Rational Resistance 思路题
    bzoj 2226 LCMSum 欧拉函数
    hdu 1163 九余数定理
    51nod 1225 余数的和 数学
    bzoj 2818 gcd 线性欧拉函数
    Codeforces Round #332 (Div. 2)D. Spongebob and Squares 数学
  • 原文地址:https://www.cnblogs.com/col-smile/p/13339467.html
Copyright © 2020-2023  润新知