maven : 是一個(gè)猶太語涂屁,意思是知識(shí)的積累
【官方描述】apache maven
http://maven.apache.org/what-is-maven.html
Maven’s primary goal is to allow a developer to comprehend the complete state of a development effort in the shortest period of time. In order to attain this goal there are several areas of concern that Maven attempts to deal with:
Making the build process easy
Providing a uniform build system
Providing quality project information
Providing guidelines for best practices development
Allowing transparent migration to new features
Maven的主要目標(biāo)
是讓開發(fā)人員在最短的時(shí)間內(nèi)理解開發(fā)工作的完整狀態(tài)甸怕。為了實(shí)現(xiàn)這一目標(biāo)甘穿,Maven試圖處理以下幾個(gè)方面的問題:
- 使構(gòu)建過程變得簡(jiǎn)單
- 提供統(tǒng)一的構(gòu)建系統(tǒng)
- 提供優(yōu)質(zhì)的項(xiàng)目信息
- 提供最佳實(shí)踐開發(fā)指南
- 允許透明遷移到新功能
POM
POM stands for "Project Object Model" 項(xiàng)目對(duì)象模型
【官方描述】功能摘要
以下是Maven的主要特點(diǎn):
* 遵循最佳實(shí)踐的簡(jiǎn)單項(xiàng)目設(shè)置 - 在幾秒鐘內(nèi)啟動(dòng)新項(xiàng)目或模塊
* 所有項(xiàng)目的一致使用 - 意味著新開發(fā)人員進(jìn)入項(xiàng)目的時(shí)間不會(huì)增加
* 卓越的依賴管理,包括自動(dòng)更新梢杭,依賴關(guān)閉(也稱為傳遞依賴)
* 能夠輕松地同時(shí)處理多個(gè)項(xiàng)目
* 一個(gè)[龐大且不斷增長(zhǎng)的庫和元數(shù)據(jù)庫温兼,](http://maven.apache.org/repository/)可以立即使用,并與最大的開源項(xiàng)目一起安排武契,以實(shí)現(xiàn)最新版本的實(shí)時(shí)可用性
* 可擴(kuò)展募判,能夠輕松[編寫](http://maven.apache.org/plugin-developers/) Java或腳本語言的[插件](http://maven.apache.org/plugin-developers/)
* 只需很少或不需要額外配置即可即時(shí)訪問新功能
* 用于在Maven之外進(jìn)行依賴關(guān)系管理和部署的Ant任務(wù)
* 基于模型的構(gòu)建:Maven能夠根據(jù)項(xiàng)目的元數(shù)據(jù)將任意數(shù)量的項(xiàng)目構(gòu)建到預(yù)定義的輸出類型(如JAR,WAR或分發(fā))中咒唆,而無需在大多數(shù)情況下執(zhí)行任何腳本届垫。
* 項(xiàng)目信息的連貫站點(diǎn):使用與構(gòu)建過程相同的元數(shù)據(jù),Maven能夠生成包含您需要添加的任何文檔的網(wǎng)站或PDF全释,并添加有關(guān)項(xiàng)目開發(fā)狀態(tài)的標(biāo)準(zhǔn)報(bào)告装处。在“項(xiàng)目信息”和“項(xiàng)目報(bào)告”子菜單下,可以在本網(wǎng)站左側(cè)導(dǎo)航欄的底部看到此信息的示例浸船。
* 發(fā)布管理和發(fā)布發(fā)布:沒有太多額外配置妄迁,Maven將與您的源代碼控制系統(tǒng)(如Subversion或Git)集成,并根據(jù)特定標(biāo)記管理項(xiàng)目的發(fā)布李命。它還可以將其發(fā)布到分發(fā)位置以供其他項(xiàng)目使用登淘。Maven能夠發(fā)布單個(gè)輸出,例如JAR封字,包含其他依賴關(guān)系和文檔的存檔黔州,或者作為源代碼分發(fā)。
* 依賴管理:Maven鼓勵(lì)使用JAR和其他依賴項(xiàng)的中央存儲(chǔ)庫阔籽。Maven附帶了一種機(jī)制流妻,您的項(xiàng)目客戶可以使用該機(jī)制從中央JAR存儲(chǔ)庫下載構(gòu)建項(xiàng)目所需的任何JAR,就像Perl的CPAN一樣仿耽。這允許Maven的用戶跨項(xiàng)目重用JAR并鼓勵(lì)項(xiàng)目之間的通信合冀,以確保處理向后兼容性問題。
maven能做的事情项贺?
- 編譯
- 測(cè)試(junit)
- 運(yùn)行
- 打包
- 部署
maven 的好處
依賴管理
一鍵構(gòu)建
大型項(xiàng)目中的微服務(wù)架構(gòu)的高效開發(fā)
maven 的搜索依賴文件的順序
本地-》遠(yuǎn)程倉庫(私服)-》中央倉庫