經過座標存儲,GAV-groupId,artifacld,version
有些網上的倉庫自帶了,nexus,http://mvnrepository.com
傳遞性依賴
依賴範圍:
依賴的傳遞性:依賴是會被傳遞的。
A--C,B--A,那麼B--C(基於compile範圍進行傳遞)。pom.xml中scope若是沒有聲明,那麼默認是compile
若是scope的聲明爲test,那麼這個依賴不會傳遞到另一個compile包中
test:打成war時不會把測試包打進去,也不會傳遞。編譯和打包都不會使用這個包。
compile:編譯範圍有效,在編譯、打包都須要
provided:在編譯和測試的過程當中有效,最後生成war包時不會加入。諸如:servlet-api.jar由於tomcat服務器已經存在了,若是再打包會衝突
runtime:運行時依賴,編譯的時候不依賴
import
systemapi
一、a--b1.0,b--b1.1 d--a和c,在d中哪個依賴順序先寫就使用先寫依賴的版本
若是d--><d>a<d>和<d>b<d>那麼依賴b爲1.0
二、a--b1.0,b--b1.1,d--a和c==>b1.0,f-->d,c,選擇最短路徑f--b1.1
三、若是但願精確的控制依賴包,能夠使用依賴的排除功能
dependencies,dependency下exclusions,排除不須要依賴的包,經過GAV聲明tomcat
一個地方編譯多個文件,eclipse中maven按照project走,idea中按照module走。
eclipse中能夠經過編寫一個pom.xml(打包方式爲pom,<packaging>pom<packaging>編譯和打包全部project。
idea中,一個project能夠有多個module,所以默認就存在pom.xml服務器
父類裏面能夠定義好,版本,編碼等信息,之類,引入parent標籤,將繼承父類的配置
父類能夠導入全部使用到的包,經過dependencyManagement標籤聲明依賴,子類中就能夠只聲明groupId和artifactId來找到包,版本從父類繼承下來eclipse