偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

大數(shù)據(jù)開發(fā):告訴你什么是Maven?

大數(shù)據(jù)
關(guān)于大數(shù)據(jù)開發(fā)的Maven可謂是一個略微復(fù)雜的構(gòu)成,從基礎(chǔ)概念到它的具體用途都可謂是有滿滿的干貨知識。這里先用一句話來進(jìn)行概括,Maven 是一個項(xiàng)目管理工具,可以對 Java 項(xiàng)目進(jìn)行構(gòu)建、依賴管理,是一個自動化構(gòu)建工具。

 關(guān)于大數(shù)據(jù)開發(fā)的Maven可謂是一個略微復(fù)雜的構(gòu)成,從基礎(chǔ)概念到它的具體用途都可謂是有滿滿的干貨知識。這里先用一句話來進(jìn)行概括,Maven 是一個項(xiàng)目管理工具,可以對 Java 項(xiàng)目進(jìn)行構(gòu)建、依賴管理,是一個自動化構(gòu)建工具。

一、什么是Maven

Maven , 用于Java項(xiàng)目的構(gòu)建 , 依賴管理 , 項(xiàng)目信息管理的項(xiàng)目管理工具.是Apache組織旗下的開源項(xiàng)目.它的核心功能是一個具有跨平臺特性的構(gòu)建工具 , 幫助我們自動化構(gòu)建 , 并提供一個完整的優(yōu)化的構(gòu)建生命周期模型 , 和構(gòu)建任務(wù)所需的基礎(chǔ)組件/插件.它還是一個依賴管理工具和項(xiàng)目信息管理工具 , 方便開發(fā)人員更好的管理依賴與避免項(xiàng)目信息混亂等問題.除此之外還提供了一套標(biāo)準(zhǔn)的約定規(guī)則 , 減輕不同項(xiàng)目的差異性.

二、Maven的作用

作用一:

個人理解maven主要是用來解決導(dǎo)入java類依賴的jar,編譯java項(xiàng)目主要問題。(最早手動導(dǎo)入jar,使用Ant之類的編譯java項(xiàng)目)

以pom.xml文件中dependency屬性管理依賴的jar包,而jar包包含class文件和一些必要的資源文件。

當(dāng)然它可以構(gòu)建項(xiàng)目,管理依賴,生成一些簡單的單元測試報告,像現(xiàn)在公司的持續(xù)集成都廣泛的使用maven,當(dāng)你接觸一些項(xiàng)目以后你就會有更深的體會。

作用二:

比如之前項(xiàng)目導(dǎo)入jar。是通過copy方式導(dǎo)入項(xiàng)目中,而且還會存在jar之間的依賴和沖突。而maven解決了這些問題,只是網(wǎng)速不好的時候有點(diǎn)麻煩。只需要下載-bin.zip就可以了。

作用三:

jar 包管理,防止jar之間依賴起沖突 。小組之間建立個私服務(wù),大家都用通用 的maven配置文件,不用自己手動去下載jar ,pom文件會自動管理下載好的jar包。

作用四:

Maven是基于項(xiàng)目對象模型,可以通過一小段描述信息來管理項(xiàng)目的構(gòu)建,報告和文檔的軟件項(xiàng)目管理工具。Maven能夠很方便的幫你管理項(xiàng)目報告,生成站點(diǎn),管理jar文件,等等。例如:項(xiàng)目開發(fā)中第三方j(luò)ar引用的問題,開發(fā)過程中合作成員引用的jar版本可能不同,還有可能重復(fù)引用相同jar的不同版本,使用maven關(guān)聯(lián)jar就可以配置引用jar的版本,避免沖突。

[[393266]]

三、Maven坐標(biāo)系統(tǒng)

Maven構(gòu)件 : 指的是平時項(xiàng)目打包完成后的的一些jar , war等文件.

Maven坐標(biāo)為各種構(gòu)件引入了秩序 , 任何一個構(gòu)件都必須明確定義自己的唯一坐標(biāo) ; 而一組Maven坐標(biāo)就是通過以下一組元素定義的 :

groupId : 定義當(dāng)前Maven項(xiàng)目隸屬的實(shí)際項(xiàng)目

artifactId : 定義實(shí)際項(xiàng)目中的一個Maven模塊/項(xiàng)目 , 推薦使用groupId作為artifactId的前綴

version : 定義Maven模塊/項(xiàng)目所處的版本 , Maven定義了一套完整的版本規(guī)范

packaging : 定義Maven模塊/項(xiàng)目的打包方式

classifier : 幫助定義一些與主構(gòu)件對應(yīng)的附屬構(gòu)件

Maven倉庫就是基于Maven的坐標(biāo)系統(tǒng)

四、Maven倉庫

得益于Maven的坐標(biāo)機(jī)制 , 任何Maven項(xiàng)目使用的任何一個"構(gòu)件"的方式都是相同的 ; 在此基礎(chǔ)上 , Maven可以在某個位置統(tǒng)一儲存所有Maven項(xiàng)目共享的"構(gòu)件" , 這就是倉庫 ; 因?yàn)閭}庫 , 所以Maven項(xiàng)目不再需要各自儲存依賴的"構(gòu)件" , 轉(zhuǎn)而只需聲明這些依賴的坐標(biāo) , 在需要的時候 , Maven會自動根據(jù)坐標(biāo)找到倉庫中的"構(gòu)件" , 并使用它們.

倉庫的分類有兩種 , 本地倉庫與遠(yuǎn)程倉庫 ; 當(dāng)Maven根據(jù)坐標(biāo)尋找"構(gòu)件"的時候 , Maven會先查看本地倉庫 , 如果本地倉庫存在此構(gòu)件 , 則直接使用 ; 如果本地倉庫不存在此"構(gòu)件" , 或需要查看是否有更新的版本 , Maven就會去遠(yuǎn)程倉庫查找 , 當(dāng)發(fā)現(xiàn)所需的"構(gòu)件"后 , 就會下載到本地倉庫后再使用 ; 如果最終本地倉庫與遠(yuǎn)程倉庫都無法找到所需要的"構(gòu)件"時 , Maven就會報錯。

[[393267]]

五、Maven構(gòu)建概念及過程

(1)構(gòu)建并不是創(chuàng)建,創(chuàng)建一個工程并不等于構(gòu)建一個項(xiàng)目,那么我們就從如下三個方面來了解構(gòu)建。

1.純Java代碼

Java是一門編譯型語言,.java擴(kuò)展名的源文件需要編譯成.class擴(kuò)展名的字節(jié)碼文件才能夠執(zhí)行。所以編寫任何Java代碼想要執(zhí)行的話就必須經(jīng)過編譯得到對應(yīng)的.class文件。

2.Web工程

當(dāng)我們需要通過瀏覽器訪問Java程序時就必須將包含Java程序的Web工程編譯的結(jié)果“拿”到服務(wù)器上的指定目錄下,并啟動服務(wù)器才行。這個“拿”的過程我們叫部署。

我們可以這樣理解,為編譯的WEB工程是米,而編譯好的WEB工程是飯,這個編譯過程就是生米煮成熟飯。

3.實(shí)際項(xiàng)目

在實(shí)際項(xiàng)目中整合第三方框架,Web工程中不僅包含了Java程序和JSP頁面、圖片等靜態(tài)資源之外,還包括了第三方框架的jar包以及各種各樣的配置文件。所有這些資源都必須按照正確的目錄結(jié)構(gòu)部署到服務(wù)器上,項(xiàng)目才可以運(yùn)行。

因此,構(gòu)建就是以我們編寫的Java代碼、框架配置文件、國際化等其他資源文件、JSP頁面和圖片等靜態(tài)資源作為“原材料”,去“生產(chǎn)”出一個可以運(yùn)行的項(xiàng)目的過程。

(2)構(gòu)建環(huán)節(jié)

1.清理:刪除以前的編譯結(jié)果,為重新編譯做好準(zhǔn)備。

2.編譯:將Java源程序編譯為字節(jié)碼文件。

3.測試:針對項(xiàng)目中的關(guān)鍵點(diǎn)進(jìn)行測試,確保項(xiàng)目在迭代開發(fā)過程中關(guān)鍵點(diǎn)的正確性。

4.報告:在每一次測試后以標(biāo)準(zhǔn)的格式記錄和展示測試結(jié)果。

5.打包:將一個包含諸多文件的工程封裝為一個壓縮文件用于安裝或部署。Java工程對應(yīng)jar包,Web工程對應(yīng)war包。

6.安裝:在Maven環(huán)境下特指將打包的結(jié)果——jar包或war包安裝到本地倉庫中。

7.部署:將打包的結(jié)果部署到遠(yuǎn)程倉庫或?qū)ar包部署到服務(wù)器上運(yùn)行。

關(guān)于大數(shù)據(jù)開發(fā)-maven的基礎(chǔ)內(nèi)容也就是如此了,這其中包含大量的細(xì)節(jié)知識,這種自動化工具是真的很方便,大大的節(jié)省了我們的時間,提高了效率。所以對它做一個具體的了解,大大的提高它的利用率。

[[393268]]

責(zé)任編輯:梁菲 來源: 今日頭條
相關(guān)推薦

2013-03-04 10:38:26

數(shù)字大數(shù)據(jù)故事

2021-01-27 14:10:08

大數(shù)據(jù)年貨網(wǎng)購

2017-12-27 22:13:34

2015-12-03 10:09:31

賭場大數(shù)據(jù)

2021-02-27 10:38:56

Python結(jié)構(gòu)數(shù)據(jù)

2015-10-28 15:04:51

大數(shù)據(jù)教育

2012-11-16 14:57:25

2015-06-09 14:49:38

2017-11-20 10:08:48

大數(shù)據(jù)后悔的事

2016-10-28 15:58:29

大數(shù)據(jù)就業(yè)成功率

2014-10-16 09:30:31

RFID

2020-03-03 17:00:58

HDFS存儲數(shù)據(jù)

2015-03-02 10:08:09

Apple Watch

2017-10-19 21:56:55

數(shù)據(jù)可視化大數(shù)據(jù)數(shù)據(jù)

2021-08-02 14:27:18

大數(shù)據(jù)殺熟人工智能網(wǎng)絡(luò)投訴

2013-08-22 10:56:34

大數(shù)據(jù)

2012-10-17 10:09:14

大數(shù)據(jù)大數(shù)據(jù)管理數(shù)據(jù)挖掘

2018-01-04 13:29:13

租房租房網(wǎng)站安全

2018-04-04 12:54:51

航空大數(shù)據(jù)航班延誤

2016-11-01 14:37:15

老齡化智慧養(yǎng)老大數(shù)據(jù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號