Maven的使用(idea2019.1)

Maven的簡單使用

Maven的百度百科:

Maven項目對象模型(POM),可以通過一小段描述信息來管理項目的構建,報告和文檔的項目管理工具軟件。

Maven 除了以程序構建能力爲特色之外,還提供高級項目管理工具。由於 Maven 的缺省構建規則有較高的可重用性,所以常常用兩三行 Maven 構建腳本就可以構建簡單的項目。由於 Maven 的面向項目的方法,許多 Apache Jakarta 項目發文時使用 Maven,而且公司項目採用 Maven 的比例在持續增長。

Maven這個單詞來自於意第緒語(猶太語),意爲知識的積累,最初在Jakata Turbine項目中用來簡化構建過程。當時有一些項目(有各自Ant build文件),僅有細微的差別,而JAR文件都由CVS來維護。於是希望有一種標準化的方式構建項目,一個清晰的方式定義項目的組成,一個容易的方式發佈項目的信息,以及一種簡單的方式在多個項目中共享JARs。

變化創建項目和導jar包的方法,變成企業的方法,

maven 項目構建和項目管理

現存在的問題是:沒有對jar包進行統一管理,個人與團體之間的jar包沒有統一,容易出現不兼容的問題。

使用maven後將會解決和實現:對jar包的統一管理,通過maven倉庫來管理,由本地倉庫管理所有的jar包,同時對版本進行管理

在這裏我使用的是idea2019.1來創建maven項目

創建maven項目

在這裏插入圖片描述

點擊不同的選項,就會創建不同的項目
在這裏插入圖片描述

上述的三個參數就是著名的 GAV 座標,

<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>

在這裏插入圖片描述

當第一次創建maven項目的時候我發現上圖的setting.xml是沒有這個文件的,在項目創建完成後並且自動導jar包纔會出現,這是我們就可以打開這個setting.xml這個文件對裏面的內容進行個性化修改

這個在互聯網上可以輕鬆找到,我在這裏使用的是阿里雲的鏡像,因爲,感覺阿里雲在國內,下載的時候比較快

我修改爲了D:/MavenStore/repository====這樣不佔C盤空間

<localRepository>D:/MavenStore/repository</localRepository>

在D:/MavenStore/repository目錄下就可以發現很多jar包

在這裏插入圖片描述

這裏使用的是阿里雲的鏡像

 <mirror>
        <id>aliyunmaven</id>
        <mirrorOf>*</mirrorOf>
        <name>阿里雲公共倉庫</name>
        <url>https://maven.aliyun.com/repository/public</url>
    </mirror>

項目和倉庫作關聯=======setting.xml配置文件關聯,
在這裏插入圖片描述

點擊完成後就創建好了一個普通的maven項目

web的maven項目也是一樣的,同理可得

maven的生命週期

在這裏插入圖片描述

簡要點就是,

compile 編譯

clean 清理

test 測試------測試是單獨打包的

install 安裝------打包並部署導本地倉庫,會生成jar包

ps:當創建的是一個maven web的項目的時候會打包成war包

POM座標–使用maven不需要導入jar包,只需要copy pom座標

座標的組成就是GAV座標

實例如下

<dependency>    
    <groupId>org.springframework</groupId>    
    <artifactId>spring-context</artifactId>    <version>4.3.13.RELEASE</version>
</dependency>
<dependency>  
    <groupId>org.springframework</groupId>  
    <artifactId>spring-core</artifactId>    
    <version>4.3.25.RELEASE</version>
</dependency>
<dependency>  
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.12</version>
</dependency>

scope:用來控制依賴和編譯,測試,運行得classpath的關係

complie:默認編譯的依賴範圍對於編譯測試運行均有效

test:測試的依賴範圍,只對測試clsspath有效

provided:對於編譯,測試的classpath都有效,但對於運行無效

多模塊開發

方式一

創建空白項目選擇empty project,類似eclipse創建多項目的方式,(不存在父工程)

I創建空工程

II創建模塊項目

III調用各模塊之間的能力

方式二

父子工程(聚合工程)

1.選擇站點模式(見圖一)

2.刪除src,使其稱爲父項目,讓父項目管理子項目的jar包

3,建立子項目{new module{

quickstart普通項目

webappweb項目}

}

4.模塊之間的調用{將開發的模塊打包成jar包,放入倉庫提供給其他的團隊使用}

1.選擇站點模式(見圖一)

2.刪除src,使其稱爲父項目,讓父項目管理子項目的jar包

3,建立子項目{new module{

quickstart普通項目

webappweb項目}

}

4.模塊之間的調用{將開發的模塊打包成jar包,放入倉庫提供給其他的團隊使用}

發佈了17 篇原創文章 · 獲贊 8 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章