Maven工具學習

來源:互聯網
上載者:User

Maven的作用:通過依賴管理實現構件化編程,項目構建,資訊管理。

Maven的安裝:

   輸入命令mvn -v 查看是否安裝成功。

 

 Maven座標(pom.xml設定檔)

Maven座標主要組成
groupId:定義當前Maven項目隸屬項目,包名
artifactId:定義實際項目中的一個模組,主類名
version:定義當前項目的目前的版本
packaging:定義該項目的打包方式,預設為jar包

name標籤:和類名相同

 

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">    <modelVersion>4.0.0</modelVersion>    <groupId>cn.itcast.maven</groupId>    <artifactId>HelloFriend</artifactId>    <version>0.0.1-SNAPSHOT</version>    <name>HelloFriend</name>      <dependencies>          <dependency> <!--依賴座標-->            <groupId>junit</groupId>              <artifactId>junit</artifactId>              <version>4.9</version>              <scope>test</scope> <!--範圍-->        </dependency>               <dependency>              <groupId>cn.itcast.maven</groupId>              <artifactId>Hello</artifactId>              <version>0.0.1-SNAPSHOT</version>              <scope>compile</scope>          </dependency>           </dependencies>  </project>

依賴範圍(scope)

 倉庫管理

用來統一儲存所有Maven共用構建的位置就是倉庫。

倉庫的分類
本地倉庫: ~/.m2/repository/   每個使用者只有一個本地倉庫
遠程倉庫:
    中央倉庫:Maven預設的遠程倉庫  http://repo1.maven.org/maven2
    私服:是一種特殊的遠程倉庫,它是架設在區域網路內的倉庫
    鏡像:用來替代中央倉庫,速度一般比中央倉庫快

 

 

 

 

Maven的生命週期

Maven生命週期就是為了對所有的構建過程進行抽象和統一。
    包括項目清理,初始化,編譯,打包,測試,部署等幾乎所有構建步驟
Maven三大生命週期

   clean:清理項目的
    default:構建項目的
    site:產生項目網站的

 

 解決依賴衝突原則:

1、路徑最近者優先

2、路徑相同,第一聲明者優先

 

依賴聲明主要包含如下元素:<dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.10</version><scope>test</scope></dependency></dependencies>其中依賴範圍scope 用來控制依賴和編譯,測試,啟動並執行classpath的關係. 主要的是三種依賴關係如下:1.compile: 預設編譯依賴範圍。對於編譯,測試,運行三種classpath都有效2.test:測試依賴範圍。只對於測試classpath有效3.provided:已提供依賴範圍。對於編譯,測試的classpath都有效,但對於運行無效。因為由容器已經提供,例如servlet-api4.runtime:運行時提供。例如:jdbc驅動傳遞性依賴:見傳遞依賴圖傳遞性依賴原則:A-->BA-->C1.路徑最近者優先2.路徑相同,第一聲明者優先注意:1.dependencyManagement中定義的依賴子module不會共用2.dependencies中定義的依賴子module可以共用可選依賴不被傳遞依賴最佳化:mvn dependency:list

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.