Maven學習和踩坑記錄

Maven

Maven的安裝

下載安裝包,直接解壓就可以使用

目錄

bin—構建項目

boot----maven運行的類加載器

conf------中有一個setings是我們對maven配置的很重要的一個配置文件

lib----------maven自身運行需要的一些jar包

需要配置maven的環境變量

path的環境變量

注意:maven的運行需要依賴於javahome的環境變量(確定我們的環境中有javahome)

如何確定我們的maven環境已經安裝好了

DOS輸入 : mvn -v

簡述

項目管理工具

  1. 解決jar包管理
  2. 自動編譯
  3. 自動的單元測試
  4. 打包整合配置文件和代碼,便於維護
  5. 生成打包,部署文件

maven依賴管理

maven工程中,我們不在需要自己將項目中的jar包導入到項目中,而是用依賴的方式,從遠程倉庫中拿到jar包到本地使用,這是我們得項目打包之後的內存下

  • 傳統的web工程----------jar包在項目中
  • maven開發的項目--------------jar包不在項目中

既然不在項目中,那麼maven工程中怎麼編譯和運行時找到jar包呢?

是從遠程倉庫中找到jar包,怎麼找?jar包的座標

maven符合代碼可重用.
依賴管理:maven工程對jar包的管理過程就是依賴管理.具體的講就是maven項目中不需要在放jar包,而是放在中央倉庫中,當我們項目編譯或者運行的過程中,會通過jar包的座標去中央倉庫中找到對應的jar包.

maven一鍵購鍵

我們的項目,往往都要經過編譯.測試.運行.打包.安裝.部署等一系列的過程

什麼是構建?

指的是:項目從編譯.測試.運行.打包.安裝.部署等一系列的過程都交給maven進行管理,過程稱爲構建

一鍵構建指的是整個構建過程,使用maven一個命令可以輕鬆完成整個工作

Maven規範化構建流程

maven將項目構建進行標準化,每個階段使用一個命令完成.

清理------編譯------測試--------報告-------打包-----------部署

Maven倉庫的種類和彼此關係

在這裏插入圖片描述

Maven標準目錄結構:

首先我們確定我們的項目中應該包含哪些部分:

  1. 核心代碼部分
  2. 配合文件部分
  3. 測試代碼部分
  4. 測試配置部分

maven項目標準目錄結構

  1. src/main/java目錄 :核心代碼目錄
  2. src/main/resources:配置文件目錄
  3. src/test/java目錄:測試代碼部分
  4. src/test/resources:測試配置文件
  5. src/main/webapp 頁面資源js,css圖片頁面等

maven常用命令:

  • compile:是maven工程的編譯命令,作用是將src/main/java下的文件編譯爲class文件輸出到target目錄中
    • 在項目中進入cmd頁面,執行mvn compile命令
  • clean:刪除該項目在本地編譯的所有的文件(因爲項目拿過來之後因爲使用的(開發環境)軟件的版本不同可能不能編譯成功),然後自己重新編譯.
    • 在項目中進入cmd頁面,執行mvn clean命令
  • text:是maven工程的編譯命令,作用是將src/main/text和src/main/java下的文件編譯爲class文件輸出到target目錄中
    • 在項目中進入cmd頁面,執行mvn text命令
  • package:將項目打包,放在了target目錄下生成了一個項目的打包文件xxx.war(爲什麼打包爲war包,和maven的配置有關),這個命令和同時把java目錄下和text目錄下的文件編譯
    • 在項目中進入cmd頁面,執行mvn package命令
  • install:項目部署,將這個項目安裝到了本地倉庫,並且也同時把java目錄和text目錄下的文件編譯,並且打包爲war包

Maven生命週期

在這裏插入圖片描述

Maven概念模型圖

在這裏插入圖片描述

IDEA集成maven工具

前提是:我們的電腦上已經安裝了maven工具

而且正確的安裝了jdk(maven工具依賴jdk)

在這裏插入圖片描述

配置SSL認證

在這裏插入圖片描述
配置這個的目的是:繞過SSL認證,就可以在配置了鏡像倉庫之後來下載jar包,不然很可能下載失敗

-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.http.ssl.ignore.validity.dates=true

maven項目的創建

  1. 不使用骨架創建maven項目
  2. 使用quickstart骨架創建maven項目
  3. 使用骨架創建webapp項目
    • 注意需要自己創建src下的java包並標記爲源碼包

maven項目的導入

  1. 創建新的空的項目
  2. 用右邊的maven工具打開要導入項目的pom文件
  3. 調整jar包的依賴

maven中常見的問題

1.maven項目中依賴導入但是不能正常使用jar包

2.導入新項目時,maven projects欄中dependencies中總是有紅色波浪線

其實我們的倉庫中應該是有哪些jar包的,但是可能因爲IDEA的bug而找不到jar包

其中一個解決方案就是:

  1. 現在 maven projects工具欄執行 mvn clean命令,刪除之前的編譯
  2. 在項目pom中先刪除有紅線的jar包的依賴
  3. 在maven projects的工具欄中reimport(或者在點擊pom.xml的maven標籤中的reimport)

需要注意的

在maven projects欄中dependencies中總是有紅色波浪線,並不一定是我們的jar包依賴有錯,只有那種前面有小三角符號的才真正是jar包依賴有問題,其他的可能是我們在修改pom.xml文件時因爲會自動保存和部署,而造成的一些很隨意的字符的錯誤

1.另外tomcat的版本和jdk的版本也要特別注意

<!--maven插件-->
<plugins>
    <!--jdk編譯插件-->
       <plugin>
           <!--配置jdk -->
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-compiler-plugin</artifactId>
           <configuration>
               <target>1.8</target>
               <source>1.8</source>
               <encoding>UTF-8</encoding>
           </configuration>
       </plugin>
    <!--tomcat插件-->
    <plugin>
        <!--配置tomcat7 要設置爲自己的tomcat的版本 -->
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.2</version>
        <!-- 配置端口號 -->
        <configuration>
            <port>80</port>
            <!-- 項目訪問路徑  本例:localhost:9090,  如果配置的aa, 則訪問路徑爲localhost:9090/aa-->
            <path>/travel</path>
        </configuration>
    </plugin>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章