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