中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

maven優缺點及使用方法是什么

發布時間:2023-03-30 17:10:10 來源:億速云 閱讀:85 作者:iii 欄目:開發技術

本篇內容主要講解“maven優缺點及使用方法是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“maven優缺點及使用方法是什么”吧!

1.什么是maven:

maven是Java平臺下的一款項目構建和依賴管理的自動化管理工具。

項目構建:將我們的源代碼、配置文件變成可執行的war包或者jar包。

依賴管理:項目需要正常運行,必須依賴一些第三方的jar包,對于這些第三方的jar包的管理,可以認為就是依賴的管理。

Maven的作用主要體現在兩個詞上面:項目和管理。項目管理從技術上來理解,就是 Maven 為項目提供了一種讓團隊能夠更科學地管理、構建項目的手段。我們可以用配置文件的方式對項目的描述、名稱、項目版本號、項目依賴等信息進行描述,使我們的項目結構更加清晰。

  并且,有一些項目需要依賴一些第三方項目的模塊或組件來完成,那么 Maven 則提供了一種 Maven倉庫 的概念。將這些依賴全部放到 Maven倉庫中,其他項目如果想要使用這些依賴,直接到倉庫中取即可,避免了到開源網站下載 jar 包資源的步驟。

Maven的優點:

1、原來的項目中需要的jar包必須手動“復制”、”粘貼” 到WEB-INF/lib 項目下,而借助Maven,可以將jar包僅僅保存在“倉庫”中,有需要使用的工程只需要“引用”這個文件,并不需要重復復制到工程中。

2、原來的項目中所需要的jar包都是提前下載好的,而Maven在聯網狀態下會自動下載所需要的jar包。首先在本地倉庫中找,找不到就在網上進行下載。

3、原來的項目中一個jar包所依賴的其他jar包必須手動導進來,而Maven會自動將被依賴的jar包導進來。

4、原來的項目一個項目就是一個工程,而借助Maven可以將一個項目拆分成多個工程。

Maven的缺點:

1.由于需要下載,導入等,導致加載緩慢,或者出現錯誤,和不穩定

2.缺少對Maven的文檔描述(網上一大堆,但是沒有標準)

3.中央存儲庫中的元數據不佳

4.POM.xml做為項目元數據的來源

maven常見的指令:

  • mvn archetype:generate :創建 Maven 項目

  • mvn compile :編譯源代碼

  • mvn test-compile :編譯測試代碼

  • mvn test : 運行應用程序中的單元測試

  • mvn site : 生成項目相關信息的網站

  • mvn clean :清除目標目錄中的生成結果

  • mvn package : 依據項目生成 jar 文件

  • mvn install :在本地 Repository 中安裝 jar

  • mvn deploy:將jar包發布到遠程倉庫

  • mvn eclipse:eclipse :生成 Eclipse 項目文件

maven依賴范圍

  • compile:編譯范圍,指 A 在編譯時依賴 B,此范圍為默認依賴范圍。編譯范圍的依賴會用在 編譯、測試、運行,由于運行時需要所以編譯范圍的依賴會被打包。

  • provided:provided 依賴只有在當 JDK 或者一個容器已提供該依賴之后才使用, provided 依賴在編譯和測試時需要,在運行時不需要,打包:比如:servlet-api,jsp-api 被 tomcat 容器提供。

  • runtime:runtime 依賴在運行和測試系統的時候需要,但在編譯的時候不需要。比如:jdbc 的驅動包。由于運行時需要所以 runtime 范圍的依賴會被打包。

  • test:test 范圍依賴 在編譯和運行時都不需要,它們只有在測試編譯和測試運行階段可用, 比如:junit。由于運行時不需要所以 test范圍依賴不會被打包。

  • system:system 范圍依賴與 provided 類似,但是你必須顯式的提供一個對于本地系統中 JAR 文件的路徑,需要指定 systemPath 磁盤路徑,system依賴不推薦使用。

maven四大特性:

1.第一大特性:

依賴管理系統 maven為java世界引入了一個新的依賴管理系統jar包管理jar升級時修改配置文件即可,在java世界中,可以用groupid,artifactid,version組成的Coordination(做標)唯一標識一個依賴。

 任何基于Maven構建的項目自身也必須定義這三項屬性,生成的包可以是jar包,也可以是war包或者jar包。

①groupId:定義當前Maven項目隸屬的實際項目--公司名稱。

②artifactId:該元素定義實際項目中的一個Maven模塊--項目名。推薦的做法是使用實際項目名稱作為artifactId的前綴。比如:spring-bean,spring-webmvc等。

③version:該元素定義maven項目當前所處的版本。

2.第二大特性:

多模塊構建 項目復查時dao  service  controller  層分離將一個項目分解為多個模塊已經是很通用的一種方式。

在maven中需要定義一個parent  POM作為一組module的聚合POM,在該POM中可以<modules>標簽來定義一組子模塊,parent POM不會有什么實際構建產生。而parent POM中的build配置以及依賴配置都會自動繼承給子module。

3.第三大特性:

一致的項目構建 主要解決了我們在idea中和eclipse中創建的項目,目錄可能不一樣,但是如果使用了maven后,我們創建的項目目錄都是一樣的。 Maven在設計之初的理念就是Conversion over configuration(約定大于配置) ,其制定了一套項目目錄結構作為標準的java項目結構,解決不同ide帶來的文件目錄不一致問題。

4.第四大特性:

一致的構建模型和插件機制如果我們需要tomcat服務器的時候,我們就把tomcat服務器的引進來。

到此,相信大家對“maven優缺點及使用方法是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

平遥县| 伽师县| 延吉市| 旅游| 长泰县| 呼玛县| 永安市| 高淳县| 荃湾区| 峨眉山市| 西华县| 土默特右旗| 息烽县| 军事| 丁青县| 金华市| 临夏市| 曲阳县| 南川市| 大方县| 格尔木市| 九龙城区| 万荣县| 巍山| 台南县| 吉木萨尔县| 巴林左旗| 高碑店市| 得荣县| 琼海市| 台州市| 桦甸市| 英吉沙县| 措美县| 济宁市| 万载县| 滁州市| 周至县| 青岛市| 柞水县| 汪清县|