(一)maven管理之依賴
(一)maven管理之依賴
1.倉庫地址
maven倉庫網址:http://search.maven.org
2.maven依賴的9大屬性
groupId,artfactId,version,type,classifier,scope,systemPath,exclusions,optional
3.屬性解析
groupId
專案包在全球的唯一標識
artfactId
專案包構建的唯一標識
version
指定所依賴包的版本號
type
指定依賴包的型別,一般包括jar,war,pom。
classifier
指定依賴包的構件型別
scope
指定依賴包的使用範圍,有6種類型;
compile 編譯依賴範圍,預設使用該範圍,對於編譯、測試、執行三宗classpath都有效。
test 測試依賴範圍,只對測試classpath有效
provided 已體提供依賴範圍。對於編譯和測試classpath有效,執行時無效
runtime 執行時依賴範圍。對於測試和執行的claspath有效,編譯無效
system 系統依賴範圍。和provided依賴範圍完全一致。使用system範圍的依賴,不許通過systemPath元素顯示地制定依賴檔案的路徑。
import 匯入依賴範圍。不會對三種classpath產生實際的影響。
systemPath
是配合<scope>為system使用的,指定非maven倉庫匯入的jar包;並且路徑不能是相對路徑,所以需要加上${basedir},
${basedir}這個是pom的內建屬性。
<dependency> <groupId>Msc</groupId> <artifactId>Msc</artifactId> <version>1.0</version> <scope>system</scope> <systemPath>${basedir}/lib/Msc.jar</systemPath> </dependency>
exclusions
依賴排除,就是有時候引入某一個依賴的時候,該依賴下有jar包衝突,可以排除掉,不引用該jar
<dependency>
<groupId>test</groupId>
<artifactId>test</artifactId>
<version>1.0.2-SNAPSHOT</version>
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
</exclusion>
<exclusion>
<artifactId>slf4j-log4j12</artifactId>
<groupId>org.slf4j</groupId>
</exclusion>
</exclusions>
</dependency>
optional
決定是否繼承當前依賴包的依賴項。比如A依賴B,B依賴C;在A中配置如下即表示A只依賴B,而不依賴C。optional預設是false。
<dependency>
<groupId>B</groupId>
<artifactId>B</artifactId>
<version>1.0.2-SNAPSHOT</version>
<optional>true</optional>
</dependency>