11 代酷睿輕薄本外媒評測出爐:4 核超 8 核,核顯打獨顯
阿新 • • 發佈:2020-10-03
一.需求
1.maven將jar包儲存到本地,不同專案都指向了rp目錄下所需要的的jar包
2.減少了尋找jar包的時間,通過gav,從遠端倉庫下載
3.maven可以自動匯入依賴的jar包
4.maven可以拆分專案,原來都是通過package進行劃分。有了maven就可以將專案劃分成多個模組,模組間通過在pom檔案中引入需要的模組的jar,來互相呼叫
二.maven是一個自動化的構建工具
構建過程包含:
1.清理
2.編譯
3.測試
4.報告
5.打包
6.安裝
7部署
maven的自動化構建就是自動的從構建過程的起點執行到結束。
三.maven專案的目錄結構
1.根目錄
2.src
3.pom檔案
4.main
5.test
6.java
7.resource
maven專案需要遵守一定的目錄結構規範,因為專案使用maven構建,maven需要知道專案的結構。
四.常用maven命令
1.mvn clean
2.mvn test-compile
3.mvn compile
4.mvn install
5.mvn package
6.mvn deploy
maven核心程式中只定義了抽象的生命週期,但是具體的工作需要由特定的外掛來完成。
五.pom檔案
pom檔案定義maven相關的一切設定
gav
groupid:公司域名跟專案名
artifactid:模組名
version:版本
倉庫搜尋過程:本地倉庫,中央倉庫,遠端倉庫
私服,遠端倉庫映象(中央倉庫的複製版)
倉庫中的內容:1.maven自身的外掛 2.第三方jar包(第一方是jdk,第二方是自己) 3.自身專案的jar包
六.jar包依賴的範圍
1.compile
對主程式有效
對測試程式有效
參與打包
2.test
對主程式無效
對測試程式有效
不參與打包
3.provided
對主程式有效
對測試程式有效
不參與打包
不參與部署
example:servlet-api.jar
七.Maven的生命週期
不論要執行生命週期中的哪個階段,都要從頭開始
八.jar包衝突
由於maven的依賴傳遞,當我們需要A的依賴的時候,就會在pom.xml中引入A的jar包;而引入的A的jar包中可能又依賴B的jar包,這樣Maven在解析pom.xml的時候,會依次將A、B 的jar包全部都引入進來。
https://blog.csdn.net/noaman_wgs/article/details/81137893
maven預設的策略
1.路徑最短
2.新宣告
九.依賴傳遞
非compile範圍的依賴不能傳遞
exclusion排除不需要的依賴
10.統一版本號
在properties中定義統一版本號
11.Maven的繼承
建立一個maven工程為父工程,<dependencyManagement>配置依賴的統一管理,打包方式為pom
在子工程中加上對父工程的引用
子工程中不需要新增父工程中已有依賴的版本號
<parent>12.Maven的聚合 在父工程中指明參與的模組
<artifactId>geek</artifactId>
<groupId>org.wzp</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modules>
<module>LearnDubbo</module>
<module>LearnJdk</module>
<module>LearnSpring</module>
<module>LearnGson</module>
</modules>