zoukankan      html  css  js  c++  java
  • 0104 gradle入门

    背景

    gradle的官网是 www.gradle.org,标题介绍是: accelerate developer productivity,翻译过来:提高开发者的生产率;
    简要介绍:从手机app到微服务,从小的创业公司到大型企业,gradle帮助团队构建,自动化,交付更好更快的软件。

    三大特征

    1. Build Anything(构建一切)

    你可以选择使用Java,C++,Python语言,单仓库或者多仓库,gradle可以在任何平台上部署打包,这都是依赖于gradle的无比灵活来构建的;

    1. Automate Everything(自动化一切)

    使用gradle丰富的API和成熟的插件生态,建模,集成,系统化各种软件。整合这些插件可以完成有目的的自动化。

    1. Deliver Faster(极速交付)

    优雅,极速的构建,从编译忽略到高级的缓存,甚至更多,gradle追求持续的性能,保证你的团队可以持续交付;

    安装步骤

    我使用的macos,这里我采用下载最新的原生包来安装gradle到我的环境;

    步骤如下:

    1. 进入你的工作目录: cd ~
    2. 下载指令: wget https://downloads.gradle-dn.com/distributions/gradle-6.0.1-all.zip
    3. 解压: unzip gradle-6.0.1-all.zip
    4. 重命名: mv gradle-6.0.1 gradle
    5. 进入执行目录: cd gradle/bin
    6. 复制执行目录地址: pwd ,复制的路径假设为 /usr/tool/gradle/bin
    7. 我使用的ohMyZSH , 所以我在 我的~/.zshrc下增加路径 EXPORT PATH=$PATH:/usr/tool/gradle/bin
    8. 验证:gradle ,看到gradle的版本号标识安装成功;
    9. 删除下载的包节约空间:rm -rf /usr/tool/gradle-6.0.1-all.zip

    开始教程

    java开发者,主要关注的是java方面的构建,先把自己放空,抛掉maven,从0开始;

    java application

    基本的java开发;

    步骤:

    1. mkdir demo_gradle_application;
    2. cd demo_gradle_application ;
    3. gradle init
    4. 介绍一下目录
      file

    settings.gradle.kts 这里配置项目的名称;
    build.gradle.kts 这里配置仓库,插件和依赖;

    file

    1. 构建

    gradlew build

    1. 测试

    测试覆盖报告在

    file

    1. 运行

    ./gradlew run 最后看到打印出hello world表示成功!

    成果:

    • 如何使用gradle生成一个java application;
    • 生成的代码结构;
    • 如何执行gradle构建以及查看测试报告;
    • 如何执行java应用使用run任务通过gradle插件;

    代码

    java library

    java库,可以被其它项目引用或者说复用;
    file

    步骤:

    1. gradle init , 选择 library ;
    2. 结构如上图;

    同application类型;
    settings.gradle.kts 主要设置项目的名字
    build.gradle.kts主要配置插件,依赖仓库,依赖;
    源码,测试目录同maven的约定;

    1. ./gradlew build 构建jar包;
    2. 定制jar包

    定制版本号: 在build.gradle.kts中 增加版本号;

    version = "1.0-SNAPSHOT"
    

    然后执行打包,可以得到带版本的jar包;

    定制jar包的 library name 和 library version;
    在build.gradle.kts中

    tasks{
        jar{
            manifest{
                mapOf("Implementation-Title" to project.name , 
                "Implementation-Version" to project.version
                )
            }
        }
    }
    
    1. 生成jar包, ./gradlew jar
    2. 生成API文档 , ./gradlew javadoc

    成果:

    • 生成了java库;
    • 生成文件的目录结构;
    • 执行构建并查看测试报告;
    • 定制生成jar包的版本和name
    • 生成API文档;

    java web

    使用gradle创建web项目;
    gradle有一个war插件用来构建javaWEB应用,并提供了一个gretty查来用来测试和部署web应用到jetty或者tomcat中;例子展示了如何构建一个简单的webapp并部署到jetty使用gretty插件,你也可以学到如何写servlet的单元测试通过使用Mockit框架,并学到如何使用gretty和selenium写功能测试;

    目录说明

    • src/main/java java源码目录
    • src/main/webapp 页面目录
    • src/test/java 测试代码目录

    步骤:

    1. 引入依赖;
    2. servlet的代码
    3. 引入页面代码
    4. 引入 gretty插件;
    5. 模拟测试servlet, 使用mockito;
    6. 模拟功能测试,使用 webdriverManager, selenium;
    7. 跑测试;

    成果:

    • 使用war插件来定义web应用;
    • 添加servlet和JSP;
    • 使用gretty插件部署应用;
    • 使用mockit单元测试;
    • 使用gretty和selenum进行功能测试;

    代码:https://github.com/carterbrother/springbootpractice/tree/master/demo_gradle_webapp

    java springboot

    idea中使用gradle

    原创不易,转载请注明出处。

  • 相关阅读:
    tensorflow搭建神经网络基本流程
    为什么Linux 实例执行 df 和 du 查看磁盘时结果不一致
    MySQL高可用架构之MHA
    Postgresql 用户管理
    PXE+Kickstart无人值守安装CentOS 7
    linux shell实用常用命令
    常用压缩命令
    mongodb 备份还原
    mongodb 备份脚本
    mongodb 日志清理
  • 原文地址:https://www.cnblogs.com/snidget/p/12149837.html
Copyright © 2011-2022 走看看