新一代項目構建工具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 "" //私服地址
		}
	}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章