Maven学习笔记(二)
生活随笔
收集整理的這篇文章主要介紹了
Maven学习笔记(二)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
什么是Maven坐標(biāo)? 對(duì)應(yīng)于平面中的點(diǎn)和城市中的地址,Maven的世界中擁有數(shù)量非常巨大的構(gòu)件,也就是大家平時(shí)用的一些jar、war等文件。在Maven為這些構(gòu)件引入坐標(biāo)概念之前,我們無(wú)法使用任何一種方式來(lái)唯一標(biāo)識(shí)所有這些構(gòu)件,因此,當(dāng)需要用到Spring Framework依賴(lài)的時(shí)候,大家會(huì)去Spring Framework網(wǎng)站尋找,當(dāng)需要用到log4j依賴(lài)的時(shí)候,大家又會(huì)去Apache網(wǎng)站尋找。又因?yàn)楦鱾€(gè)項(xiàng)目的網(wǎng)站風(fēng)格迥異,大量的時(shí)間花費(fèi)在了搜索、瀏覽網(wǎng)頁(yè)等工作上面。沒(méi)有統(tǒng)一的規(guī)范、統(tǒng)一的法則,該工作就無(wú)法自動(dòng)化。重復(fù)地搜索、瀏覽網(wǎng)頁(yè)和下載類(lèi)似的jar文件,這本就應(yīng)該交給機(jī)器來(lái)做。而機(jī)器工作必須基于預(yù)定義的規(guī)則,Maven定義了這樣一組規(guī)則:世界上任何一個(gè)構(gòu)件都可以使用Maven坐標(biāo)唯一標(biāo)識(shí),Maven坐標(biāo)的元素包括groupId、artifactId、version、packaging、classifier。現(xiàn)在,只要我們提供正確的坐標(biāo)元素,Maven就能找到對(duì)應(yīng)的構(gòu)件,比如說(shuō),當(dāng)需要使用Java5 平臺(tái)上TestNG的 5.8 版本時(shí),就告訴Maven:"groupId=org.testng; artifactId=testng; version=5.8;classifier=jdk15",Maven就會(huì)從倉(cāng)庫(kù)中尋找相應(yīng)的構(gòu)件供我們使用。也許你會(huì)奇怪,"Maven是從哪里下載構(gòu)件的呢?"答案其實(shí)很簡(jiǎn)單,Maven內(nèi)置了一個(gè)中央倉(cāng)庫(kù)的地址(http://repo1.maven.org/maven2),該中央倉(cāng)庫(kù)包含了世界上大部分流行的開(kāi)源項(xiàng)目構(gòu)件,Maven會(huì)在需要的時(shí)候去那里下載。在我們開(kāi)發(fā)自己項(xiàng)目的時(shí)候,也需要為其定義適當(dāng)?shù)淖鴺?biāo),這是 Maven 強(qiáng)制要求的,在這個(gè)基礎(chǔ)上,其他 Maven 項(xiàng)目才能引用該項(xiàng)目生成的構(gòu)件 根元素 project 下的 dependencies 可以包含一個(gè)或者多個(gè) dependency 元素,以聲明一個(gè)或者多個(gè)項(xiàng)目依賴(lài)。每個(gè)依賴(lài)可以包含的元素有: ? groupId、artifactId 和 version:依賴(lài)的基本坐標(biāo),對(duì)于任何一個(gè)依賴(lài)來(lái)說(shuō),基本坐標(biāo) 是最重要的,Maven 根據(jù)坐標(biāo)才能找到需要的依賴(lài)。 ? type:依賴(lài)的類(lèi)型,對(duì)應(yīng)于項(xiàng)目坐標(biāo)定義的 packaging。大部分情況下,該元素不必聲 明,其默認(rèn)值為 jar。 ? scope:依賴(lài)的范圍。 ? optional:標(biāo)記依賴(lài)是否可選。 ? exclusions:用來(lái)排除傳遞性依賴(lài)。 大部分依賴(lài)聲明只包含基本坐標(biāo),然而在一些特殊情況下,其它元素至關(guān)重要
生命周期 Maven定義了三套生命周期:clean、default、site,每個(gè)生命周期都包含了一些階段(phase)。三套生命周期相互獨(dú)立,但各個(gè)生命 周期中的phase卻是有順序的,且后面的phase依賴(lài)于前面的phase。執(zhí)行某個(gè)phase時(shí),其前面的phase會(huì)依順序執(zhí)行,但不會(huì)觸發(fā)另外兩 套生命周期中的任何phase。
- clean,做些清理的工作
- default,最核心的周期,做初始化和構(gòu)建的工作,里面分的階段很多,主要是compllie,test, package, install等
- site,生成站點(diǎn)的周期,包括生成文檔和發(fā)布等
總結(jié)
以上是生活随笔為你收集整理的Maven学习笔记(二)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: SpringBoot学习系列之一
- 下一篇: linux桌面只有日期,Linux桌面何