天天看點

Maven介紹

Maven是由Apache公司用純Java開發的開源項目,用來管理我們的開發項目。

Maven是一個項目管理工具,可以對Java項目建構,依賴管理。具體可以看百度百科.

一般項目開發都會使用項目管理工具來幫助開發人員進行項目管理,而Maven已然成為大多數開發人員的選擇。

進入官網下載下傳bin.zip檔案

解壓到C槽的User目錄下(Dogs,我的解壓目錄)

配置環境變量:

建立系統變量 MAVEN_HOME:

Maven介紹

編輯系統變量 Path:

Maven介紹

檢查是否安裝成功:打開CMD輸入--&gt; <code>mvn -v</code>即可檢查Maven版本相關資訊。

打開Maven安裝目錄的conf檔案夾下的settlings.xml檔案

maven預設依賴下載下傳位址是外網,下載下傳速度慢,将其改成阿裡鏡像提高jar包下載下傳

找到mirrors标簽,将預設的mirror标簽内容修改成如下

如果不想每次使用Maven添加依賴都從網上下載下傳,就需要建立本地的Maven依賴倉庫,隻需要在Maven管理的項目中指定依賴導入的倉庫即可直接添加不需要下載下傳(隻要由對應依賴的版本号)。

直接在根标簽下添加如下内容即可:

<code>&lt;localRepository&gt;C:\Users\CNDA\maven\repository&lt;/localRepository&gt;</code>

settings.xml是給Maven看的,如果你想根據需求使用不同的settings.xml可以建立多個settings.xml但是名字必須是settings.xml,這意味着你必須在Maven管理中指定要使用的settings.xml具體路徑。一般來說一個夠用了。

現階段我們一般使用idea進行開發,那麼我們就需要在idea中使用Maven管理我們的項目。

在idea中建立maven項目

Maven介紹

直接選中Maven點選next即可

建立好了之後,項目結構應該如圖所示:

Maven介紹

Maven項目結構目錄介紹

main目錄下有兩個檔案夾

java:我們項目的源代碼,也就是我們普通Java項目src下的目錄結構

resources:項目中需要的配置資源檔案在此目錄下

test:項目測試使用的結構目錄,此檔案下的所有檔案都不會被編譯到最終結果中(大緻結構與main相同)

target:目錄存放編譯打包的結果(項目的最終編譯結果,跟src同級目錄)

pom.xml:是maven項目的配置檔案,根據pom.xml中的規定來管理項目的依賴和建構。

SSM開發的項目最後部署在tomcat中,我們使用idea建立一個被Maven管理的web項目。

Maven介紹

記得勾選Create from archetype,然後選中上圖所示的<code>maven-archetype-webapp</code>,然後Next。

Maven介紹

Maven home path :選擇你的maven根目錄

User settings file: 選擇你的settings.xml檔案路徑

Local repository: 選擇你的依賴倉庫

點選Finish

完整SSM的Maven項目如下:

Maven介紹

如果建立項目時main下沒有檔案夾,也沒有test檔案夾,則需要我們手動建立并配置。

直接如上圖的結建構立目錄即可,然後标記目錄,右鍵需要标記的目錄找到<code>mark directory as</code>,java目錄就選Sources Root,main下的resources就選Resources Root,test下的java和resources就選前面帶有Test就行。到此用Maven管理SSM項目就完成了。

注意:如果pom.xml中<code>pluginManagement</code>标簽下的maven插件依賴報錯,直接将其删除即可,我也不知道具體原因為什麼版本報錯,反正我即使更改版本不報錯也用不了插件。是以删除插件并不影響我們程式的編寫和正常使用Maven的功能。

在SSM項目中,我們不隻有java檔案,還有在Mapper層中的Mapper.xml檔案和resources檔案下的相關配置檔案,但是maven預設隻會将我們所有java檔案和webapp下的檔案進行打包,并不會将mapper.xml檔案和配置檔案進行打包,這樣就導緻我們部署在tomcat中的war包中沒有對應的檔案導緻報錯,是以我們需要告訴Maven,讓maven将我們的檔案進行打包。

pom.xml配置如下:

編譯打包後,我們的mapper.xml檔案和resources下的檔案就會被maven打到war包下,配置檔案會移到WEB-INF下的classes中。

Maven介紹

除了web項目是打成war包釋出在伺服器上,其他都是打成jar包,打包的方式有多種,其中就說一個最基本的打包方式,打jar包并不是說運作程式就完成了打包,那target中有我們編譯的class檔案,并不會生成jar包,我們需要點選idea右側欄的maven中的package

Maven介紹

然後Run中會出現打包的相關資訊

Maven介紹

可以看到打包的類型是jar類型,而jar包的路徑在<code>Building jar</code>中給出。

我們以後會頻繁的使用到maven來管理我們的中大型項目,特别是團隊開發,可能還會使用到Git工具,使用maven管理項目非常的友善,不隻展現在依賴導入,建構,打包等都會友善。