Maven構建

Maven依賴管理的概念

         傳統的項目工程中,需要將各種Jar包存放在項目中。導致一個項目工程所佔大小增加。如果出現若干個項目工程,則會出現每個項目工程中都存有各自所需的Jar包,從而導致不必要的空間佔用。因此使用Maven,由Maven開發的項目工程中,並不將Jar包存放在項目中,而是存放在Jar包倉庫中供若干個項目工程使用,而項目工程只需要提供一個Jar包座標即可。因此增加了Jar包可重用,以及減小了項目工程所佔空間大小。依賴管理就是Maven工程對Jar包的管理。

 

項目的一鍵構建

              如果直接通過Tomcat部署運行,則需要先將項目工程導包放進Tomcat目錄下,然後才能部署運行。若使用Maven,則只需要一個命令就可以讓其使用Tomcat部署運行,並且Maven中包含了Tomcat插件。

 

倉庫的種類和彼此關係

          Maven工程中不存放Jar包,而是對應的Jar包座標。Jar包都存放在倉庫中,倉庫分爲以下三類:

         1>本地倉庫:Maven會根據配置文件中的默認倉庫來尋找對應的Jar包。

         2>遠程倉庫(私服):公司內部使用的倉庫,共同開發項目時直接通過局域網使用內部倉庫。

         3>中央倉庫:在聯網的情況下,如果在本地倉庫或者遠程倉庫不能獲取所需要的Jar包時就會去中央倉庫尋找,該倉庫中存放了幾乎所有開源的Jar包。

         因此這三者的關係是,啓動一個Maven工程,然後根據Jar包座標在本地倉庫中尋找Jar包,如果不存在,則在遠程倉庫中尋找,若尋找到,則從遠程倉庫中將Jar包上傳到本地倉庫中(本地倉庫也可以向遠程倉庫上傳Jar包),若遠程倉庫也不能獲取所需Jar包,則在聯網的情況下,去中央倉庫尋找所需Jar包。

 

Maven標準目錄結構

         1> src/main/java目錄:存放項目核心代碼部分

         2> src/main/resources目錄:配置文件部分

        3> src/test/java目錄:測試代碼部分

        4> src/test/resources目錄: 測試配置文件部分

       5> src/main/webapp目錄: 頁面資源,js,css,圖片等

 

Maven常用命令

         1>mvn clean:將編譯好的項目信息刪除

         2>mvn compile:將項目編譯並將src中的文件編譯後的文件放在target目錄下

         3>mvn test:將src 和 test目錄下的文件都進行編譯並放在target目錄下

         4>mvn package:將項目打包

        5>mvn install:將項目src和test下的文件編譯,打包,並且將當前的項目安裝到本地倉庫中

 

Maven生命週期

默認生命週期:編譯(Compile)->測試(test)->打包(package)->安裝(install)->發佈(deploy)

清理生命週期:  clean(清除項目編譯信息)

站點生命週期:

 

Maven概念模型圖

 

依賴管理

項目對象模型(POM):中放置了①項目自身信息②項目運行所依賴的Jar包信息③項目運行環境信息(例如JDK、Tomcat信息)

依賴管理模型(Dependency):存放Jar包座標,具體形式如下:

<!-- Jar標座標基本由公司組織名稱-項目名-版本號組成 -->

<dependency>
    <groupId>javax.servlet.jsp</groupId>
    <artifactId>jsp-api</artifactId>
    <version>2.0</version>
</dependency>

一鍵構建

Maven項目工程中,一般使用默認生命週期,每一個構建項目的命令都對應了Maven底層的一個插件。

 

Maven作用域

爲了防止Maven中的一些包和其他例如本地Tomcat中的Jar包發生衝突而導致項目運行失敗,因此使用<scope>

<scope>中指的就是,在測試時使用該依賴的Jar包,而實際在項目運行過程中,使用其他的同名的Jar包

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章