亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Maven的原理和使用方法

發布時間:2021-06-26 10:09:01 來源:億速云 閱讀:210 作者:chen 欄目:大數據

本篇內容主要講解“Maven的原理和使用方法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Maven的原理和使用方法”吧!

Maven基礎

1. 坐標

Maven坐標主要組成(GAV),確定一個jar包的位置
groupId:定義當前Maven組織名稱
artifactId:定義實際項目名稱
version:定義當前項目的當前版本

2. 坐標的查找

    訪問http://www.mvnrepository.com

3. 依賴管理

        (1) scope 依賴范圍,用來控制依賴和編譯、測試、運行的classpath的關系

Maven的原理和使用方法

       (2) compile: 默認編譯依賴范圍。對于編譯、測試、運行、打包時都需要,例如:struts2-core

       (3) test:測試依賴范圍。測試時需要,編譯、運行、打包時不需要,例如:junit

       (4) provided:已提供依賴范圍。編譯、測試時需要,運行、打包時不需要。因為由容器已經提供,例如:jsp-api、servlet-api

       (5) runtime:運行時提供。測試、運行、打包時需要,編譯時不需要。例如:jdbc驅動

4. 添加jar包
在pom中添加如下代碼:

<dependencies>
		   <dependency>
					   <groupId>junit</groupId>
					   <artifactId>junit</artifactId>
					   <version>4.9</version>
					   <scope>test</scope>
		   </dependency>
		   <dependency>
					   <groupId>javax.servlet</groupId>
					   <artifactId>servlet-api</artifactId>
					   <version>2.5</version>
					   <scope>provided</scope>
		   </dependency>
		   <dependency>
					   <groupId>javax.servlet</groupId>
					   <artifactId>jsp-api</artifactId>
					   <version>2.0</version>
					   <scope>provided</scope>
		   </dependency>
</dependencies>

會發現jar包已添加到項目中

5. 依賴傳遞

直接依賴和間接依賴,test2 依賴 test1,test3依賴test2,test2 直接依賴 test1,test3間接依賴test1
依賴范圍是compile的時候,依賴可以傳遞
依賴范圍是test的時候,依賴不會得以傳遞

6. 可選依賴

<optional> true/false<optional> 是否可選,也可以理解為是否向下傳遞。在依賴中添加optional選項決定此依賴是否向下傳遞,如果是true則不傳遞,如果是false就傳遞,默認為false

7. 依賴版本沖突的解決

    (1) 第一聲明優先原則

<dependency>
           <groupId>org.springframework</groupId>
           <artifactId>spring-context</artifactId>
           <version>4.2.4.RELEASE</version>
</dependency>
<dependency>
           <groupId>org.apache.struts</groupId>
           <artifactId>struts2-spring-plugin</artifactId>
           <version>2.3.24</version>
</dependency>

    (2) 路徑近者優先原則,自己添加jar包

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-beans</artifactId>
    <version>4.2.4.RELEASE</version>
</dependency>

    (3) 排除原則

<dependency>
		<groupId>org.apache.struts</groupId>
		<artifactId>struts2-spring-plugin</artifactId>
		<version>2.3.24</version>
		<exclusions>
		  <exclusion>
			<groupId>org.springframework</groupId>
			<artifactId>spring-beans</artifactId>
		  </exclusion>
		</exclusions>
</dependency>

    (4) 版本鎖定原則

<properties>
		   <spring.version>4.2.4.RELEASE</spring.version>
</properties>
 
<!-- 鎖定版本,spring4.2.4 -->
<dependencyManagement>
		   <dependencies>
					   <dependency>
								   <groupId>org.springframework</groupId>
								   <artifactId>spring-context</artifactId>
								   <version>${spring.version}</version>
					   </dependency>
			</dependencies>
</dependencyManagement>

8. 生命周期
compile   test  package  install  deploy(發布到私服)
三種生命周期:
Clean Lifecycle:
在進行真正的構建之前進行一些清理工作
Default Lifecycle:
compile   test  package  install  deploy構建的核心部分,編譯,測試,打包,部署等等
Site Lifecycle:
生成項目報告,站點,發布站點

    (1) Clean生命周期:清理項目
        Clean生命周期一共包含了三個階段:

pre-clean 執行一些需要在clean之前完成的工作 
clean 移除所有上一次構建生成的文件 
post-clean 執行一些需要在clean之后立刻完成的工作

    也就是說,mvn clean 等同于 mvn pre-clean clean 
    如果我們運行 mvn post-clean ,那么 pre-clean,clean 都會被運行。
    這是Maven很重要的一個規則,可以大大簡化命令行的輸入。

    (2) Default生命周期:構造項目
    Default生命周期是Maven生命周期中最重要的一個,絕大部分工作都發生在這個生命周期中。這里解釋一些比較重要和常用的階段

validate 
generate-sources 
process-sources 
generate-resources 
process-resources 復制并處理資源文件,至目標目錄,準備打包。 
compile 編譯項目的源代碼。 
process-classes 
generate-test-sources 
process-test-sources 
generate-test-resources 
process-test-resources 復制并處理資源文件,至目標測試目錄。 
test-compile 編譯測試源代碼。 
process-test-classes 
test 使用合適的單元測試框架運行測試。這些測試代碼不會被打包或部署。 
prepare-package 
package 接受編譯好的代碼,打包成可發布的格式,如 JAR 。 
pre-integration-test 
integration-test 
post-integration-test 
verify 
install 將包安裝至本地倉庫,以讓其它項目依賴。 
deploy 將最終的包復制到遠程的倉庫,以讓其它開發人員與項目共享

    運行任何一個階段的時候,它前面的所有階段都會被運行
    這也就是為什么我們運行mvn install 的時候,代碼會被編譯,測試,打包,安裝到本地倉庫
    此外,Maven的插件機制是完全依賴Maven的生命周期的,因此理解生命周期至關重要。

    (3) Sit生命周期:生成項目站點
    這里經常用到的是site階段和site-deploy階段,用以生成和發布Maven站點,這可是Maven相當強大的功能
    Manager比較喜歡,文檔及統計數據自動生成,很好看。我們就不用學,以后自己研究

pre-site 執行一些需要在生成站點文檔之前完成的工作 
site 生成項目的站點文檔 
post-site 執行一些需要在生成站點文檔之后完成的工作,并且為部署做準備 
site-deploy 將生成的站點文檔部署到特定的服務器

9. 模型圖
Maven的原理和使用方法

到此,相信大家對“Maven的原理和使用方法”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宁陵县| 陕西省| 太谷县| 弥勒县| 苍溪县| 永修县| 石楼县| 兴宁市| 淳安县| 保亭| 石首市| 山阴县| 白水县| 兴国县| 通海县| 邢台县| 库伦旗| 浦东新区| 神农架林区| 内丘县| 西城区| 根河市| 滦南县| 东乡| 镇沅| 晴隆县| 湘乡市| 巢湖市| 昌图县| 合水县| 新丰县| 定陶县| 延寿县| 同心县| 恩施市| 新巴尔虎右旗| 金阳县| 夏津县| 湖口县| 正定县| 通许县|