摘要:一什么是是一款軟件項目管理和理解工具?;陧椖繉ο竽P偷母拍?,通過添加一小段描述來管理項目的構建。另外如果子模塊中指定了版本號,那么會使用子模塊中指定的版本。
一、什么是Maven?
Maven是一款軟件項目管理和理解工具?;陧椖繉ο竽P停≒OM)的概念,通過添加一小段描述來管理項目的構建。
二、為什么要使用Maven?
以前在用Java開發一個項目時,往往需要引入幾十或者上百個Jar包,那么這些Jar可能分散在不同的地址,我們需要一個一個去下載,然后在導入到我們項目中!有時一個Jar包找到合適的版本可能需要幾個小時。更讓人痛苦的是一個大項目開發需要多人協同開發。那么項目依賴的Jar包就需要有一份公共的來解決不同人引入相同的Jar不同版本的依賴從而導致沖突。
現在使用Maven來構建,Maven通過一個POM文件來管理項目依賴,只要在POM中加入想要的Jar包依賴,Maven會在本地倉庫中查找依賴包。如果本地沒有找到就會從配置的私服中下載依賴,沒有配置私服Maven就會從Maven的中央倉庫(99%的開源項目都可以在Maven中央倉庫中找到)中去找到指定版本的Jar包。
三、約定規范
web : 項目名稱
src : 源代碼和測試代碼的根目錄
main : 應用代碼目錄
java : 源代碼目錄
resources : 配置文件目錄
test : 測試代碼目錄
testResources : 測試使用的配置文件
webapp : 當你的項目是一個web項目時才會需要這個文件夾,里面都是存放項目靜態文件。如果你的項目是jar項目那就不需要這個目錄了。
target : 項目打包時maven自動幫我們創建的目錄,里面就是打包好的項目文件
pom.xml : 這就是配置項目依賴的地方。一次配置,不管以后代碼給誰,都可以運行起來。
四、實例
4.0.0 com.test maven-test 1.0-SNAPSHOT war maven-test Maven Webapp http://www.example.com UTF-8 1.7 1.7 /** * POM文件中使用的變量聲明 * 可以在這里聲明各種文件的版本號 * 例如 :4.3.9.RELEASE * 在下面的依賴引入時可以聲明一個公共版本 */4.3.9.RELEASE /** * 一個 dependency 為一個依賴 * groupId : 項目組織唯一的標識符,對應JAVA的包的結構,在main目錄里面java的目錄結構 (groupId可以多個項目使用一個) * artifactId : 項目的唯一的標識符,實際對應項目的名稱,就是項目根目錄的名稱。(每個項目中同樣的版本只能有一個) */ org.springframework spring-core ${spring.version} org.springframework spring-context ${spring.version} org.springframework spring-beans ${spring.version} maven-test /** * 這邊是maven插件配置 * 需要打包jar時,就需要配置mainClass * 多模塊時,需要配置子模塊文件引入插件 */ maven-clean-plugin 3.0.0 maven-resources-plugin 3.0.2 maven-compiler-plugin 3.7.0 maven-surefire-plugin 2.20.1 maven-war-plugin 3.2.0 maven-install-plugin 2.5.2 maven-deploy-plugin 2.8.2
五、模塊化項目管理
Maven模塊化項目管理,適用于一些比較大的項目,通過功能的模塊拆分,實現代碼的解耦合,便于代碼的復用和維護及管理。開源框架在便于閱讀源碼前提下基本都是采用模塊化的方式,提供模塊集成,用戶可以根據需求配置指定的模塊。
父模塊配置:
子模塊配置:
父模塊配置dependencies與dependencyManagement的區別 :
dependencies : 在子模塊中不寫該依賴項,那么子模塊仍然會從父模塊中繼承該依賴項(全部繼承,上面使用的截圖就是dependencies)
dependencyManagement : 父模塊里只是聲明依賴(在dependencies外層在包一個dependencyManagement標簽說明),并不實現引入,因此子模塊需要顯示的聲明需要用的依賴。如果不在子模塊中聲明依賴,是不會從父模塊中繼承下來的;只有在子模塊中寫了該依賴項,并且沒有指定具體版本,才會從父模塊中繼承該項,并且version和scope都讀取自父pom。另外如果子模塊中指定了版本號,那么會使用子模塊中指定的Jar版本。
部分信息參考來自網絡.
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/71204.html
摘要:項目根目錄項目名項目版本號項目目錄打包的名字二依賴管理概述通過在配置依賴坐標,會自動幫我們下載依賴的構件。關于父模塊的依賴配置注意兩點一般都是通過來配置所有依賴及其版本號,然后子模塊,在自己的文件中聲明依賴即可,不用再指定版本,以確保統一。 一、Maven 1.1 為什么寫Maven 工欲善其事,必先利其器。如今Java相關開發,基本離不開Maven、Gradle、MAT、Hudson...
摘要:繼承作用就是避免配置重復,對于子項目來說應該關心父項目是怎么樣配置的。聚合字面理解就是聚在一起合作完成工作,就是將子模塊聚集起來完成相應的項目需求父工程的搭建項目結構在父工程中,主要負責完成依賴的版本管理,并不是實際的依賴。 從大二開始就一直關注segmentFault,在問題專區幫忙回答一些自己知曉的問題;在寫這篇文章之前我一直會在朋友圈發一些自己遇到的問題以及解決辦法,這是第一次寫...
摘要:創建項目點擊創建項目,點擊下一步填寫組名項目項目版本填寫本地項目和目錄名稱,點擊創建好的項目目錄結構如下一般多模塊開發中父模塊都是不帶目錄的,手動刪除目錄,刪除之后的目錄如下至此父模塊已經創建完成。 公司的項目使用idea進行maven的多模塊開發,由于接觸intellij Idea沒有多長時間,對好多功能都不太清楚,就在網上瀏覽帖子學習,在此過程中總感覺帖子寫的不夠詳細,在途中踩了很...
閱讀 3199·2021-09-29 09:34
閱讀 3551·2021-09-10 10:51
閱讀 1948·2021-09-10 10:50
閱讀 6731·2021-08-12 13:31
閱讀 3000·2019-08-30 15:54
閱讀 1560·2019-08-30 15:44
閱讀 1430·2019-08-29 12:26
閱讀 2654·2019-08-26 18:36