最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

項(xiàng)目管理利器-Maven超詳細(xì)的入門教程

2021-03-09 14:03 作者:動(dòng)力節(jié)點(diǎn)小王本王  | 我要投稿



本篇文章主要內(nèi)容:

Maven概述

Maven核心概念

Maven特點(diǎn)

安裝Maven環(huán)境

第一個(gè)Maven工程


軟件是一個(gè)工程

我們在日常生活常能聽到工程這個(gè)詞,像橋梁工程、道路工程、南水北調(diào)工程等等。

工程說簡單點(diǎn)就是各個(gè)行業(yè)的從業(yè)人員通過總結(jié)規(guī)律或者方法,以最短的時(shí)間和人力、物力來做出高效可靠的東西。我們也就能理解橋梁工程,其實(shí)就是人們通過經(jīng)驗(yàn)的總結(jié)和各種研究得出來的、用來修建橋梁時(shí)所采用的高效的方法,當(dāng)然這種方法是可復(fù)用的。我們將這種作工程的思想應(yīng)用到軟件上,于是就產(chǎn)生了—軟件工程。

軟件工程:為了能夠?qū)崿F(xiàn)軟件的流水線式生產(chǎn),在設(shè)計(jì)和構(gòu)建軟件時(shí)能夠有一種規(guī)范和工程化的方法,人們便提出了軟件工程概念。

?

上面的內(nèi)容做個(gè)日常生活的類比,做道菜就是一個(gè)工程。今天心情好,想吃紅燒肉,自動(dòng)動(dòng)手做:

1.?想買什么豬的那個(gè)位置的肉,黑豬肉,土豬肉等,使用冰糖還是綿白糖,用什么牌子的醬油等

2.?到菜市場購買各種原料。

3.?準(zhǔn)備材料,洗肉,切塊,花椒,大料等

4.?開始做了,肉下鍋燉煮,不同時(shí)間加入花椒,大料,冰糖,醬油

5.?燉煮一段時(shí)間后,看肉是否熟透,嘗試口味,是不是咸了等等

6.?做好了,開始吃了

7.?需要刷碗,倒垃圾

這些工作從頭做到尾步驟非常繁瑣,每個(gè)步驟都是費(fèi)時(shí)費(fèi)力的。所以才出現(xiàn)凈菜,半成品菜,拿回家直接做可以了,只做 6,7 步驟就可以 。

軟件開發(fā)需要編譯代碼—>開發(fā)人員自己測試代碼—>把代碼打包—>部署項(xiàng)目到測試服務(wù)器—>測試人員測試功能—>測試測試出bug

開發(fā)人員需要修改bug—>開發(fā)人員自己測試代碼—>把代碼打包—>部署項(xiàng)目到測試服務(wù)器—>測試人員測試功能—>直到符合功能要求。

上述過程需要重復(fù)多次,大型項(xiàng)目中構(gòu)建項(xiàng)目比較復(fù)雜,有很多的配置文件,jar 文件,多個(gè)子項(xiàng)目等等。都用人力完成費(fèi)時(shí)費(fèi)力,效率比較低。maven 可以讓我們從上面的工作中解脫出來。

Maven 是自動(dòng)化構(gòu)建工具。

傳統(tǒng)項(xiàng)目開發(fā)存在的問題

一個(gè)項(xiàng)目做成一個(gè)工程,造成工程比較龐大,需要使用多模塊來劃分項(xiàng)目;

項(xiàng)目中需要的數(shù)量眾多的jar 包,需要手動(dòng)下載并引入,并且多個(gè)項(xiàng)目需要的jar 包存在重復(fù)的問題;

項(xiàng)目中需要的jar 包有版本兼容的問題,需要手動(dòng)解決; 項(xiàng)目中需要的jar 包又依賴其它的jar 包,需要手動(dòng)解決。

Maven?概述

  • Maven?是Apache?軟件基金會(huì)組織維護(hù)的一款自動(dòng)化構(gòu)建工具,專注服務(wù)于Java 平臺(tái)的項(xiàng)目構(gòu)建和依賴管理。Maven 這個(gè)單詞的本意是:專家,內(nèi)行。讀音是['me?v(?)n]或['mevn]。

  • Maven 是目前最流行的自動(dòng)化構(gòu)建工具,對于生產(chǎn)環(huán)境下多框架、多模塊整合開發(fā)有重要作用,Maven 是一款在大型項(xiàng)目開發(fā)過程中不可或缺的重要工具。

  • Maven 可以整合多個(gè)項(xiàng)目之間的引用關(guān)系,我們可以根據(jù)業(yè)務(wù)和分層需要任意拆分一個(gè)項(xiàng)目;

  • Maven 提供規(guī)范的管理各個(gè)常用jar 包及其各個(gè)版本,并且可以自動(dòng)下載和引入項(xiàng)目中;

  • Maven 可以根據(jù)指定版本自動(dòng)解決jar 包版本兼容問題; Maven 可以把jar 包所依賴的其它jar 包自動(dòng)下載并引入項(xiàng)目。

類似自動(dòng)化構(gòu)建工具還有:Ant, Maven, Gradle。

構(gòu)建(build),是面向過程的(從開始到結(jié)尾的多個(gè)步驟),涉及到多個(gè)環(huán)節(jié)的協(xié)同工作。

構(gòu)建過程的幾個(gè)主要環(huán)節(jié)

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

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

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

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

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

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

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

Maven?核心概念

Maven能夠?qū)崿F(xiàn)自動(dòng)化構(gòu)建是和它的內(nèi)部原理分不開的,這里我們從Maven的九個(gè)核心概念入手,看看Maven是如何實(shí)現(xiàn)自動(dòng)化構(gòu)建的?

①POM

②約定的目錄結(jié)構(gòu)

③坐標(biāo)

④依賴管理

⑤倉庫管理

⑥生命周期

⑦插件和目標(biāo)

⑧繼承

⑨聚合

Maven特點(diǎn)

那么,Maven 和 Ant 有什么不同呢?

在回答這個(gè)問題以前,首先要強(qiáng)調(diào)一點(diǎn):Maven 和 Ant 針對構(gòu)建問題的兩個(gè)不同方面。Ant 為 Java 技術(shù)開發(fā)項(xiàng)目提供跨平臺(tái)構(gòu)建任務(wù)。Maven 本身描述項(xiàng)目的高級方面,它從 Ant 借用了絕大多數(shù)構(gòu)建任務(wù)。因此,由于 Maven 和?Ant代表兩個(gè)差異很大的工具。所以接下來只說明這兩個(gè)工具的等同組件之間的區(qū)別,如表 1 所示。

Maven是一個(gè)項(xiàng)目管理工具,它包含了一個(gè)項(xiàng)目對象模型 (Project Object Model),一組標(biāo)準(zhǔn)集合,一個(gè)項(xiàng)目生命周期(Project Lifecycle),一個(gè)依賴管理系統(tǒng)(Dependency Management System),和用來運(yùn)行定義在生命周期階段(phase)中插件(plugin)目標(biāo)(goal)的邏輯。當(dāng)你使用Maven的時(shí)候,你用一個(gè)明確定義的項(xiàng)目對象模型來描述你的項(xiàng)目,然后Maven可以應(yīng)用橫切的邏輯,這些邏輯來自一組共享的(或者自定義的)插件。

Maven 有一個(gè)生命周期,當(dāng)你運(yùn)行 mvn install 的時(shí)候被調(diào)用。這條命令告訴 Maven 執(zhí)行一系列的有序的步驟,直到到達(dá)你指定的生命周期。遍歷生命周期旅途中的一個(gè)影響就是,Maven 運(yùn)行了許多默認(rèn)的插件目標(biāo),這些目標(biāo)完成了像編譯和創(chuàng)建一個(gè) JAR 文件這樣的工作。

此外,Maven能夠很方便的幫你管理項(xiàng)目報(bào)告,生成站點(diǎn),管理JAR文件,等等。

安裝 Maven?環(huán)境

1、確保安裝了java?環(huán)境:maven?本身就是java?寫的,所以要求必須安裝JDK。

查看java?環(huán)境變量:echo?%JAVA_HOME%?

2、下載并解壓maven?安裝程序:

http://maven.apache.org/download.cgi?

3、配置?Maven?的環(huán)境變量:

MAVEN_HOME=d:/apache-maven-3.3.9 或 者M(jìn)2_HOME=d:/apache-maven-3.3.9 path=%MAVEN_HOME%/bin; 或者%M2_HOME%/bin;

4、驗(yàn)證是否安裝成功: mvn?–v


Maven?的核心概念:

Maven?工程約定目錄結(jié)構(gòu)

maven 中約定的目錄結(jié)構(gòu):?

? ? ? ? ? ? ? Hello

? ? ? ? ? ? ? ?|---src

? ? ? ? ? ? ? ?|---|---main

? ? ? ? ? ? ? ?|---|---|---java

? ? ? ? ? ? ? ?|---|---|---resources

? ? ? ? ? ? ? ?|---|---test

? ? ? ? ? ? ? ?|---|---|---java

? ? ? ? ? ? ? ?|---|---|---resources

? ? ? ? ? ? ? ?|---pom.xml

說明:

  • Hello:根目錄,也就是工程名

  • src:源代碼 ????

  • main:主程序 ???

  • java:主程序的java?源碼

  • resources:主程序的配置文件

  • test:測試程序 ?????????????

  • java:測試程序的java?源碼

  • resources:測試程序的配置文件

  • pom.xml:Maven工程的核心配置文件。

一般情況下,我們習(xí)慣上采取的措施是:約定>配置>編碼

maven 的pom.xml 記錄的關(guān)于構(gòu)建項(xiàng)目的各個(gè)方面的設(shè)置,maven 從pom.xml 文件開始,按照助約定的工程目錄編譯,測試,打包,部署,發(fā)布項(xiàng)目。

第一個(gè)maven?工程

按照如下步驟,實(shí)現(xiàn)第一個(gè)maven 項(xiàng)目,以 maven 推薦的約定方式創(chuàng)建目錄,類文件。

1. 某個(gè)目錄中創(chuàng)建文件夾Hello?

2. 在Hello 中創(chuàng)建子目錄 src

3. 拷貝pom.xml 到Hello 目錄和src 是同級放置的。

4. 進(jìn)入src 目錄,創(chuàng)建main, test 目錄

5.?進(jìn)入main?目錄,創(chuàng)建 java,resources?目錄。

6. 進(jìn)入java?目錄,創(chuàng)建目錄 com/bjpowernode/

com/bjpowernode/目錄下創(chuàng)建 HelloMaven.java?文件,定義 int addNumber(int n1,n2){ return?n1+n2};

public?static?void?main(String?args[])?{ System.out.prinltn(“Hello Manven”);?//也可以調(diào)用?addNumber()?}

7.?進(jìn)入到Hello?目錄在,執(zhí)行 mvn?compile

8.?進(jìn)入到target/classes?目錄執(zhí)行 java?com.bjpowernode.HelloMaven

pom?文件

Project Object Model?項(xiàng)目對象模型。Maven?把一個(gè)項(xiàng)目的結(jié)構(gòu)和內(nèi)容抽象成一個(gè)模型,在xml?文件中進(jìn)行聲明,以方便進(jìn)行構(gòu)建和描述, pom.xml?是 Maven?的靈魂。所以,maven?環(huán)境搭建好之后,所有的學(xué)習(xí)和操作都是關(guān)于pom.xml?的。

pom.xml 初識:

最后奉上視頻教程??,視頻觀看效果更佳?。∽哌^路過別忘素質(zhì)三連哦~~


項(xiàng)目管理利器-Maven超詳細(xì)的入門教程的評論 (共 條)

分享到微博請遵守國家法律
古蔺县| 闸北区| 偏关县| 越西县| 大丰市| 清涧县| 凌海市| 福清市| 洪湖市| 双流县| 讷河市| 鹰潭市| 兴义市| 古浪县| 教育| 白山市| 江山市| 武夷山市| 那坡县| 阳山县| 乐至县| 马山县| 荥阳市| 无为县| 图们市| 吉木萨尔县| 深水埗区| 九龙县| 金塔县| 定边县| 建德市| 河北省| 徐闻县| 郴州市| 曲靖市| 磐石市| 蒙阴县| 渝北区| 那曲县| 乾安县| 中超|