新一代项目构建工具Gradle快速学习

第1章 介绍

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

第2章 准备使用Gradle

2-1 Gradle安装

在这里插入图片描述
在这里插入图片描述

2-2 Groovy基础知识-理论介绍

在这里插入图片描述

2-3 Groovy基础知识-与Java比较

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在idea中,Tools—>Groovy Console打开

  • 分号可选
  • 自动生成getter、setter方法
  • 可以直接用对象.属性的方法来获取属性值

2-4 Groovy基础知识-高效特性

在这里插入图片描述

  • assert在任何地方都可以执行
  • def 变量 (类似Js的var)
  • 括号可选
  • 字符串三种表达
    • 单引号(仅仅就是字符串)
    • 双引号(可以使用${变量名}插入变量)
    • 三引号(可以换行)
  • 集合API
    • def myList = [‘elemen1’,‘element2’],并使用<<添加元素(对应到Java中为ArrayList)
    • def myMap = [‘key1’:value1,‘key2’:value2],使用集合名.属性名添加元素或修改元素值(对应到Java中为LinkedHashMap)
  • 闭包

第3章 第一个Gradle项目

File—>New—>Project—>Gradle—>Java

  • GroupId一般为公司域名倒着写
  • ArtifactId为项目编号,唯一
  • Version版本号
    —>Use local gradle distribution—>finish

生成build.gradle,其中
apply plugin: 'java’表示使用Java插件
sourceCompatibility表示源文件适应的版本
repositories表示仓库
dependencies表示依赖

gradle兼容maven,因此两者的目录结构一样。将写好的项目用gradle运行之后,在idea右侧有gradle选项,其中Tasks下的build下的jar的功能就是把当前的源文件打成jar包,生成的jar包放在build下的libs中。

运行Java程序
使用Terminal输入java -classpath build/libs/jar包名 要运行的类的全限定类名
即可运行jar包

运行web程序
在build.gradle中添加apply plugin: ‘war’
在右侧使用war将web应用打包成war包放到tomcat的webapp目录中,启动tomcat即可使用web程序

第4章 高级应用

4-1 构建脚本概要

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4-2 自定义任务

def createDir = {
	path -> 
		File dir = new File(path)
		if (!dir.exists()) {
			dir.mkdirs();
		}
}
task makeJavaDir() {
	def paths = ['src/main/java','src/test/java','src/main/resources','src/test/resources']
	doFirst {
		paths.forEach(createDir)
	}
}
task makeWebDir() {
	dependsOn 'makeJavaDir'
	def paths = ['src/main/webapp','src/test/webapp']
	doLast {
		paths.forEach(createDir)
	}
}

在右侧gradle中选择Tasks下的other中可以找到自定义的任务

4-3 构建生命周期

在这里插入图片描述
上一节中,doFirst和doLast的代码为执行代码,其它均为配置代码
在这里插入图片描述

4-4 依赖管理

在这里插入图片描述
工件座标:通过group、name、version可以唯一确定一个jar包
常用仓库:
在这里插入图片描述
依赖的传递性:
在这里插入图片描述
自动化依赖管理:
在这里插入图片描述
在这里插入图片描述

4-5 解决版本冲突

在这里插入图片描述
gradle默认使用最新的jar包来解决依赖冲突,因为一般软件都是向下兼容的

4-6 发布

在这里插入图片描述
在build.gradle中添加 apply plugin: 'maven-publish’和如下代码,之后执行publish任务

publishing {
	publications {
		myPublish(MavenPublication) {
			from components,java
		}
	}
	repositories {
		maven {
			name "myRepo"
			url "" //私服地址
		}
	}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章