• Gradle


    Gradle

    • 项目构建工具:所谓构建就是对项目进行 编辑 编译 测试 打包 部署等一系列称之为项目构建
    • 行业主流工具 :apache ant(2000年)---apache maven(2004年)----Gradle(2012年)

    一:什么是Gradle

    Gradle是一个基于[Apache Ant]和[Apache Maven]概念的项目[自动化建构]工具。它使用一种基于[Groovy]的[特定领域语言]来声明项目设置,而不是传统的[XML]。
    当前其支持的语言限于[Java]、[Groovy]和[Scala],计划未来将支持更多的语言。

    groovy是运行在jvm之上的脚本语言,把脚本装换为java代码执行.

    二:Gradle的特点

    1:简化了Maven的繁琐配置
    2: 支持多工程的构建
    3:基于groovy脚本构建,其build脚本使用groovy语言编写
    

    三:安装Gradle

    官网:https://gradle.org/

    win:

    • 安装;https://gradle.org/install/ -------------> releases page.--------->找一个版本,下载binary-only 任何平台都适用

    • 下载解压到 D: oolsgradle-6.2.1

    • 配置环境变量

       GRADLE_HOME
       D:	oolsgradle-6.2.1
           
       %GRADLE_HOME%in
       
       验证:gradle -version
      

    四:Gradle与IDEA集成构建项目

    • 默认情况下Gradle与idea不需要做任何配置,可以直接打开idea创建一个Gradle的项目即可.

    • 1:构建普通java项目

    • 1.1

    • 1.2

    • 1.3

    • 1.4 每个项目都要单独配置--不太友好啊

    五:groovy语法学习

    1:基本语法

    //1:基础语法输出一句话 语法比较随意
    
    println("Hello Groovy");
    println("Hello gradle")
    println "Hello Maven"
    
    
    //定义强类型变量  int string double  总结:groovy中都是对象类型,没有基本类型的概念
    int a = 23;
    println(a)
    
    //定义弱类型变量
    def aa = 150
    println(aa)
    
    //groovy中都是对象类型
    println(a.class)
    println(aa.class)
    
    //不区分单引号和双引号
    def name = 'faker'
    def address = "shanghai"
    println( name.class)
    println(address.class)
    
    
    //方法的定义---和python语法好像
    def play(){
        println("hello maven!")
    }
    play()
    
    def play2(def str){
        println(str + ":======= hello groovy!")
    }
    //调用
    play2("Gradle is good")
    
    
    //定义方法以及if判断
    def plays3(def b){
        if(b){
            println("hello true")
        }else{
            println("hello false")
        }
    }
    plays3(false)
    
    

    2:基本语法

    import javax.swing.text.html.parser.Entity
    
    //1:定义list
    def list=['faker','bang','wolf']
    
    //2:根据下标获取元素
    print list[1]     //bang
    
    println("")
    //3:遍历集合
    for(str in list){
        println(str)
    }
    
    //1:定义map集合
    def  map=['xiaoyu':"可爱的人",'xiaozhou':"帅气的人"];
    //2:根据key直接获取map集合中的元素值
    println(map.get("xiaoyu"))
    
    //3:遍历map集合
    for(entry in map){
        println("key:"+entry.getKey()+"----value:"+entry.getValue())
    }
    

    3:基本语法之闭包

    闭包:就是groovy中的一段代码块,主要用来作为参数在方法之间传递使用,保护代码块内部的元素不受外部干扰

    //基本的闭包
    def  m1 ={
        println("hello groovy")
    }
    //定义一个带有闭包参数的方法
    def play(Closure closure){
        closure()  //执行闭包中的内容
    }
    
    //调用
    play(m1)
    
    //带有参数的闭包
    def m2 = {
        v ->
            println("hello world 参数为"+v)
    }
    //在方法中调用闭包的传递参数
    def play2(Closure closure){
        closure("小黑")
    }
    //调用方法
    play2(m2) 
    

    六:Gradle项目的配置文件详解

    plugins {
        id 'java'
    }
    
    group 'com.itnoob'
    version '1.0-SNAPSHOT'
    
    //表示使用maven的中央仓库
    repositories {
        mavenCentral()
    }
    
    
    //管理依赖
    /**
    *每一个jar包都有3个基本元素组成 group  name  version
    *  scope 作用域:gradle都药加上作用域 
    *  compile 编译 运行 打包   
    *  testCompile  仅仅在测试可用
    *   providedCompile 当前idea中可用
    */
    dependencies {
        testCompile group: 'junit', name: 'junit', version: '4.12'
        compile group: 'org.eclipse.jetty.toolchain', name: 'jetty-schemas', version: '5.2'
    }
    
    
    
  • 相关阅读:
    常用git命令及问题解决方法
    angular router-ui
    lodash接触:string-capitalize
    angular-ui-router状态不变刷新页面
    ubuntu安装bower失败的解决方法
    HTTP协议中PUT和POST使用区别 【转载】
    CentOS6.5配置python开发环境之一:CentOS图形化界面显示
    SQL Server 查询Job中的存储过程(转)
    sql 取每月第一天或最后一天
    getdate() 转换格式大全
  • 原文地址:https://www.cnblogs.com/zhoujun007/p/13603708.html
Copyright © 2020-2023  润新知