Gradle工具

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_37546891/article/details/82848875

~ Gradle和Groovy概念

Java项目管理工具:Ant、Maven、Gradle;

Gradle项目管理工具:Gradle是基于Ant和Maven产生的,弥补了Ant和Maven的不足,带来了一些更高效的特点;它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐的配置;Gradle面向Java应用而生,支持语言:Java、Groovy、Scala;

Groovy:是一门新的编程语言,全面兼容Java语言;

~ Gradle 下载安装

Gradle下载地址http://services.gradle.org/distributions/

Gradle配置环境变量

  • GRADLE_HOME:D:\Gradle\gradle-4.10.2-bin\gradle-4.10.2;(bin目录的上级)
  • path:%GRADLE_HOME%\bin;

Gradle安装验证:cmd下输入gradle -v;

~ 在IDEA中创建Gradle - Java工程

在这里插入图片描述

~ Groovy简单语法

//Groovy编程语言
println("hello groovy");
//Groovy中语句最末尾的分号可以省略
println("hello groovy")
//Groovy中可以省略括号
println "hello groovy"

//Groovy中定义变量
//def是弱类型的,Groovy会根据情况来给变量赋予对应的类型
def i = 18;
println i
def s = "zhang"
println s

//Groovy定义集合类型
//定义一个list
def list = ['a','b']
//往list中添加元素
list << 'c'
//取出list中第三个元素
println list.get(2)

//定义一个map
def map = ['key1':'value1','key2':'value2']
//向map中添加键值对
map.key3 = 'value3'
//从map中取出key3的值
println map.get("key3")

//控制台输出:
> .......
hello groovy
hello groovy
hello groovy
18
zhang
c
value3

~ Groovy中的闭包

//Groovy中的闭包
//闭包就是一段代码块,在Gradle中主要是把闭包当做参数来使用
//定义一个不带参数的闭包
def b1 = {
    println "hello b1"
}
//定义一个方法,传入闭包类型的参数
def method1(Closure colsure){
    colsure()
}
//调用方法method1
method1(b1)

//定义一个带参数的闭包
def b2 = {
    v ->
        println "hello ${v}"
}
//定义一个方法,传入闭包类型的参数
def method2(Closure colsure){
    colsure("zhang")
}
//调用方法method2
method2(b2)

//控制台输出:
> .......
hello b1
hello zhang

~ 让Gradle使用本地Maven仓库

1、删除C:\Users\盗情\.gradle\caches文件夹;
2、配置环境变量GRADLE_USER_HOME - E:\MavenRepository;(本地Maven仓库的位置)
3、验证配置生效:打开IDEA,打开settings;
在这里插入图片描述

~ 把Java项目打包成jar包

在这里插入图片描述

~ Gradle开发Web工程

1、先创建一个普通的Java工程;
2、创建webapp目录;
3、修改build.gradle配置文件:
在这里插入图片描述

~ build.gradle 配置文件

plugins {
    id 'java'
}
plugins {
    id 'war'
}
group 'cn.itcast'
version '1.0-SNAPSHOT'

sourceCompatibility = 1.8
//指定所使用的仓库;mavenCentral()表示使用中央仓库,
//此刻项目中所需要的jar包都会默认从中央仓库下载到本地指定目录;
//以下配置表示先从本地仓库寻找依赖,若本地仓库没有再从中央仓库下载;
//如果只配置中央仓库mavenCentral,表示直接从中央仓库下载jar包,若指定下载的位置已经有了,就不会再次下载了;
repositories {
    mavenCentral()
}
//gradle工程所有jar包的坐标都在dependencies属性内放置;
//每一个jar包的坐标都由3个基本元素组成:group、name、version;
//TestComplete表示该jar包在测试的时候起作用,该属性为jar包的作用域;
//在gradle里面添加坐标都需要带上jar包的作用域;
dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.12'
    compile group: 'org.springframework', name: 'spring-context', version: '5.1.0.RELEASE'
    compile group: 'org.springframework', name: 'spring-webmvc', version: '5.0.2.RELEASE'
    compile group: 'org.springframework', name: 'spring-web', version: '5.1.0.RELEASE'
    provided group: 'javax.servlet', name: 'javax.servlet-api', version: '3.0.1'
    provided group: 'javax.servlet', name: 'jsp-api', version: '2.0'
}

~ Gradle工程拆分与聚合

1、创建父工程:创建一个普通的Java工程;
2、在创建好的父工程名称处右键 New Module:
在这里插入图片描述
3、创建出来的三个子模块都是普通的java工程,想变成web工程,需要手动改变:
(1)把web子模块目录补齐:webapp - WEB-INF - web.xml;
(2)在自己的build.gradle配置文件中添加:plugins { id 'war' }
4、创建好一个父工程和三个子工程之后,查看父工程的settings.gradle配置文件,可以看见里面包含了所有子模块的信息:在这里插入图片描述
5、在父工程的build.gradle配置文件中添加jar包的引用;
6、将build.gradle配置文件中所有内容都放到allProjects标签内,这样父工程中引入的jar包子工程都能用:
在这里插入图片描述
6、子工程的build.gradle文件中除了web子工程留一句plugins { id 'war' },其他所有内容都删除,直接使用父工程的配置;
7、在子工程中配置自己的设置:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_37546891/article/details/82848875