Maven介紹


Maven介紹

簡介

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

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

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

安裝

  1. 進入官網下載bin.zip文件
  2. 解壓到C盤的User目錄下(Dogs,我的解壓目錄)
  3. 配置環境變量:
    • 新建系統變量 MAVEN_HOME:20210912093749
    • 編輯系統變量 Path:20210912093940
  4. 檢查是否安裝成功:打開CMD輸入--> mvn -v即可檢查Maven版本相關信息。

修改settings.xml配置文件

打開Maven安裝目錄的conf文件夾下的settlings.xml文件

修改鏡像地址

maven默認依賴下載地址是外網,下載速度慢,將其改成阿里鏡像提高jar包下載

找到mirrors標簽,將默認的mirror標簽內容修改成如下

<mirror>
    <id>alimaven</id>
    <name>aliyun maven</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
    <mirrorOf>central</mirrorOf>
</mirror>

修改本地倉庫的存放位置

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

直接在根標簽下添加如下內容即可:
<localRepository>C:\Users\CNDA\maven\repository</localRepository>

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

配合idea使用

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

  1. 在idea中創建maven項目
    20210912100132

    直接選中Maven點擊next即可

    創建好了之后,項目結構應該如圖所示:
    20210912100336

  2. Maven項目結構目錄介紹

    • main目錄下有兩個文件夾
      • java:我們項目的源代碼,也就是我們普通Java項目src下的目錄結構
      • resources:項目中需要的配置資源文件在此目錄下
    • test:項目測試使用的結構目錄,此文件下的所有文件都不會被編譯到最終結果中(大致結構與main相同)
    • target:目錄存放編譯打包的結果(項目的最終編譯結果,跟src同級目錄)
    • pom.xml:是maven項目的配置文件,根據pom.xml中的規定來管理項目的依賴和構建。

管理SSM項目

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

20210912101336
記得勾選Create from archetype,然后選中上圖所示的maven-archetype-webapp,然后Next。

20210912101610

Maven home path :選擇你的maven根目錄
User settings file: 選擇你的settings.xml文件路徑
Local repository: 選擇你的依賴倉庫
點擊Finish

完整SSM的Maven項目如下:
20210912105406
如果創建項目時main下沒有文件夾,也沒有test文件夾,則需要我們手動創建並配置。

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

注意:如果pom.xml中pluginManagement標簽下的maven插件依賴報錯,直接將其刪除即可,我也不知道具體原因為什么版本報錯,反正我即使更改版本不報錯也用不了插件。所以刪除插件並不影響我們程序的編寫和正常使用Maven的功能。

SSM項目中解決Mapper.xml和resources中文件不能被maven編譯打包問題

在SSM項目中,我們不只有java文件,還有在Mapper層中的Mapper.xml文件和resources文件下的相關配置文件,但是maven默認只會將我們所有java文件和webapp下的文件進行打包,並不會將mapper.xml文件和配置文件進行打包,這樣就導致我們部署在tomcat中的war包中沒有對應的文件導致報錯,所以我們需要告訴Maven,讓maven將我們的文件進行打包。
pom.xml配置如下:

<build>
<!--
有時候,比如mybatis的mapper.xml文件,我們習慣把它和Mapper.java放一起,都在src/main/java下面,這樣利用maven打包時,
就需要修改pom.xml文件,來把mapper.xml文件一起打包進jar或者war里了,否則,這些文件不會被打包的。
-->
<!-- 資源目錄 -->
<resources>
    <resource>
    <!-- 設定主資源目錄 -->
    <directory>src/main/java</directory>
    <!-- 需要讀取的文件 -->
    <includes>
        <include>**/*.xml</include>
    </includes>
    <filtering>true</filtering>
    </resource>
    <!-- 講resources下配置文件加載到war包的classes中 -->
    <resource>
    <!-- 設定主資源目錄 -->
    <directory>src/main/resources</directory>
    <filtering>true</filtering>
    </resource>
</resources>
</build>

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

打包

除了web項目是打成war包發布在服務器上,其他都是打成jar包,打包的方式有多種,其中就說一個最基本的打包方式,打jar包並不是說運行程序就完成了打包,那target中有我們編譯的class文件,並不會生成jar包,我們需要點擊idea右側欄的maven中的package
20210912200925

然后Run中會出現打包的相關信息
20210912201114
可以看到打包的類型是jar類型,而jar包的路徑在Building jar中給出。

小結

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM