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'
}


原文地址:https://www.cnblogs.com/zhoujun007/p/13603708.html